@scalar/api-client 3.6.1 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (905) hide show
  1. package/CHANGELOG.md +157 -0
  2. package/dist/components/HttpMethod/HttpMethod.vue.js +1 -1
  3. package/dist/components/HttpMethod/index.js +2 -0
  4. package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.d.ts.map +1 -0
  5. package/dist/components/{ScalarAsciiArt.vue.js → ScalarAsciiArt/ScalarAsciiArt.vue.js} +3 -3
  6. package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.js.map +1 -0
  7. package/dist/components/{ScalarAsciiArt.vue.script.js → ScalarAsciiArt/ScalarAsciiArt.vue.script.js} +1 -1
  8. package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.script.js.map +1 -0
  9. package/dist/components/ScalarAsciiArt/index.d.ts +2 -0
  10. package/dist/components/ScalarAsciiArt/index.d.ts.map +1 -0
  11. package/dist/components/ScalarAsciiArt/index.js +2 -0
  12. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.d.ts +2 -2
  13. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.d.ts +2 -2
  14. package/dist/components/Sidebar/index.d.ts +2 -0
  15. package/dist/components/Sidebar/index.d.ts.map +1 -0
  16. package/dist/components/Sidebar/index.js +2 -0
  17. package/dist/components/ViewLayout/index.d.ts +4 -0
  18. package/dist/components/ViewLayout/index.d.ts.map +1 -0
  19. package/dist/components/ViewLayout/index.js +4 -0
  20. package/dist/plugins/posthog/index.d.ts.map +1 -1
  21. package/dist/plugins/posthog/index.js +21 -12
  22. package/dist/plugins/posthog/index.js.map +1 -1
  23. package/dist/plugins/posthog/sanitize-event-payload.d.ts +25 -0
  24. package/dist/plugins/posthog/sanitize-event-payload.d.ts.map +1 -0
  25. package/dist/plugins/posthog/sanitize-event-payload.js +136 -0
  26. package/dist/plugins/posthog/sanitize-event-payload.js.map +1 -0
  27. package/dist/style.css +214 -1651
  28. package/dist/types/index.d.ts +3 -0
  29. package/dist/types/index.d.ts.map +1 -0
  30. package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts.map +1 -1
  31. package/dist/v2/blocks/operation-block/OperationBlock.vue.js.map +1 -1
  32. package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js +72 -32
  33. package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js.map +1 -1
  34. package/dist/v2/blocks/operation-block/components/Header.vue.d.ts +2 -2
  35. package/dist/v2/blocks/operation-block/components/Header.vue.d.ts.map +1 -1
  36. package/dist/v2/blocks/operation-block/components/Header.vue.js +1 -1
  37. package/dist/v2/blocks/operation-block/components/Header.vue.js.map +1 -1
  38. package/dist/v2/blocks/operation-block/components/Header.vue.script.js +3 -3
  39. package/dist/v2/blocks/operation-block/components/Header.vue.script.js.map +1 -1
  40. package/dist/v2/blocks/operation-block/components/OpenApiClientButton.vue.js +1 -1
  41. package/dist/v2/blocks/operation-block/index.d.ts +1 -0
  42. package/dist/v2/blocks/operation-block/index.d.ts.map +1 -1
  43. package/dist/v2/blocks/operation-block/index.js +2 -1
  44. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.script.js +1 -1
  45. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.d.ts +1 -1
  46. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.d.ts.map +1 -1
  47. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js +15 -9
  48. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js.map +1 -1
  49. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.d.ts.map +1 -1
  50. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js +9 -7
  51. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js.map +1 -1
  52. package/dist/v2/blocks/operation-code-sample/index.d.ts +1 -0
  53. package/dist/v2/blocks/operation-code-sample/index.d.ts.map +1 -1
  54. package/dist/v2/blocks/operation-code-sample/index.js +2 -1
  55. package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts.map +1 -1
  56. package/dist/v2/blocks/request-block/RequestBlock.vue.js +1 -1
  57. package/dist/v2/blocks/request-block/RequestBlock.vue.js.map +1 -1
  58. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js +30 -17
  59. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js.map +1 -1
  60. package/dist/v2/blocks/request-block/components/RequestBody.vue.d.ts.map +1 -1
  61. package/dist/v2/blocks/request-block/components/RequestBody.vue.js +1 -1
  62. package/dist/v2/blocks/request-block/components/RequestBody.vue.js.map +1 -1
  63. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js +43 -10
  64. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js.map +1 -1
  65. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js +2 -2
  66. package/dist/v2/blocks/request-block/components/RequestParams.vue.d.ts +2 -2
  67. package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts +2 -2
  68. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts +4 -2
  69. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts.map +1 -1
  70. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.js.map +1 -1
  71. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js +2 -2
  72. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js.map +1 -1
  73. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.d.ts.map +1 -1
  74. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.js.map +1 -1
  75. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js +4 -1
  76. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js.map +1 -1
  77. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.d.ts +2 -1
  78. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.d.ts.map +1 -1
  79. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js +42 -13
  80. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js.map +1 -1
  81. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.d.ts +14 -0
  82. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.d.ts.map +1 -0
  83. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.js +136 -0
  84. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.js.map +1 -0
  85. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js +1 -1
  86. package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js +1 -1
  87. package/dist/v2/blocks/response-block/components/ResponseBody.vue.d.ts.map +1 -1
  88. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js +1 -1
  89. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js.map +1 -1
  90. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js +12 -10
  91. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js.map +1 -1
  92. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.d.ts +2 -0
  93. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.d.ts.map +1 -1
  94. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js +1 -1
  95. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js.map +1 -1
  96. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js +17 -4
  97. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js.map +1 -1
  98. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.d.ts +3 -1
  99. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.d.ts.map +1 -1
  100. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js +1 -1
  101. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js.map +1 -1
  102. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js +21 -9
  103. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js.map +1 -1
  104. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.d.ts +2 -2
  105. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.d.ts.map +1 -1
  106. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js +1 -1
  107. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js.map +1 -1
  108. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js +2 -2
  109. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js.map +1 -1
  110. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.d.ts.map +1 -1
  111. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js +1 -1
  112. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js.map +1 -1
  113. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.js +1 -0
  114. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.js.map +1 -1
  115. package/dist/v2/blocks/response-block/helpers/media-types.d.ts +1 -1
  116. package/dist/v2/blocks/response-block/helpers/media-types.d.ts.map +1 -1
  117. package/dist/v2/blocks/response-block/helpers/media-types.js +14 -7
  118. package/dist/v2/blocks/response-block/helpers/media-types.js.map +1 -1
  119. package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.d.ts +6 -0
  120. package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.d.ts.map +1 -0
  121. package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.js +22 -0
  122. package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.js.map +1 -0
  123. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts +2 -2
  124. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts.map +1 -1
  125. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js +1 -1
  126. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js.map +1 -1
  127. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js +124 -91
  128. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js.map +1 -1
  129. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js +1 -1
  130. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js.map +1 -1
  131. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.d.ts +2 -2
  132. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts +30 -20
  133. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts.map +1 -1
  134. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js.map +1 -1
  135. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js +43 -21
  136. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js.map +1 -1
  137. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.d.ts +15 -2
  138. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.d.ts.map +1 -1
  139. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js +1 -3
  140. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js.map +1 -1
  141. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js +74 -28
  142. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js.map +1 -1
  143. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.d.ts +30 -20
  144. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.d.ts.map +1 -1
  145. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.js.map +1 -1
  146. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js +190 -72
  147. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js.map +1 -1
  148. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts.map +1 -1
  149. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.js.map +1 -1
  150. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js +7 -1
  151. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js.map +1 -1
  152. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts +26 -10
  153. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts.map +1 -1
  154. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.js.map +1 -1
  155. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js +25 -3
  156. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js.map +1 -1
  157. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts.map +1 -1
  158. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js +12 -3
  159. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js.map +1 -1
  160. package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts +1 -0
  161. package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts.map +1 -1
  162. package/dist/v2/components/code-input/CodeInput.vue.d.ts +4 -4
  163. package/dist/v2/components/code-input/CodeInput.vue.script.js +1 -1
  164. package/dist/v2/components/code-input/code-variable-widget.js +1 -1
  165. package/dist/v2/components/forms/ConfirmationForm.vue.d.ts +2 -2
  166. package/dist/v2/components/modals/DeleteModal.vue.d.ts +2 -2
  167. package/dist/v2/components/server/ServerDropdown.vue.d.ts +2 -2
  168. package/dist/v2/components/server/ServerDropdown.vue.js.map +1 -1
  169. package/dist/v2/components/server/ServerDropdown.vue.script.js +1 -1
  170. package/dist/v2/components/server/ServerDropdown.vue.script.js.map +1 -1
  171. package/dist/v2/components/sidebar/Sidebar.vue.d.ts.map +1 -1
  172. package/dist/v2/components/sidebar/Sidebar.vue.js.map +1 -1
  173. package/dist/v2/components/sidebar/Sidebar.vue.script.js +4 -3
  174. package/dist/v2/components/sidebar/Sidebar.vue.script.js.map +1 -1
  175. package/dist/v2/constants.js +1 -1
  176. package/dist/v2/features/command-palette/components/CommandActionForm.vue.d.ts +2 -2
  177. package/dist/v2/features/command-palette/components/CommandActionInput.vue.d.ts +2 -2
  178. package/dist/v2/features/command-palette/index.d.ts +0 -2
  179. package/dist/v2/features/command-palette/index.d.ts.map +1 -1
  180. package/dist/v2/features/command-palette/index.js +1 -3
  181. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.d.ts +2 -2
  182. package/dist/v2/features/modal/Modal.vue.d.ts +5 -7
  183. package/dist/v2/features/modal/Modal.vue.d.ts.map +1 -1
  184. package/dist/v2/features/modal/Modal.vue.js.map +1 -1
  185. package/dist/v2/features/modal/Modal.vue.script.js +3 -3
  186. package/dist/v2/features/modal/Modal.vue.script.js.map +1 -1
  187. package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts +1 -1
  188. package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts.map +1 -1
  189. package/dist/v2/features/modal/helpers/create-api-client-modal.js +8 -3
  190. package/dist/v2/features/modal/helpers/create-api-client-modal.js.map +1 -1
  191. package/dist/v2/features/modal/helpers/resolve-route-parameters.d.ts +5 -1
  192. package/dist/v2/features/modal/helpers/resolve-route-parameters.d.ts.map +1 -1
  193. package/dist/v2/features/modal/helpers/resolve-route-parameters.js +15 -4
  194. package/dist/v2/features/modal/helpers/resolve-route-parameters.js.map +1 -1
  195. package/dist/v2/features/modal/hooks/use-modal-sidebar.d.ts.map +1 -1
  196. package/dist/v2/features/modal/hooks/use-modal-sidebar.js +5 -1
  197. package/dist/v2/features/modal/hooks/use-modal-sidebar.js.map +1 -1
  198. package/dist/v2/features/modal/index.js +1 -1
  199. package/dist/v2/features/modal/modal-events.d.ts.map +1 -1
  200. package/dist/v2/features/modal/modal-events.js +10 -6
  201. package/dist/v2/features/modal/modal-events.js.map +1 -1
  202. package/dist/v2/features/operation/Operation.vue.d.ts +35 -3
  203. package/dist/v2/features/operation/Operation.vue.d.ts.map +1 -1
  204. package/dist/v2/features/operation/Operation.vue.js.map +1 -1
  205. package/dist/v2/features/operation/Operation.vue.script.js +1 -9
  206. package/dist/v2/features/operation/Operation.vue.script.js.map +1 -1
  207. package/dist/v2/helpers/handle-hotkeys.d.ts.map +1 -1
  208. package/dist/v2/helpers/handle-hotkeys.js +4 -0
  209. package/dist/v2/helpers/handle-hotkeys.js.map +1 -1
  210. package/dist/v2/helpers/test-utils.d.ts +2 -0
  211. package/dist/v2/helpers/test-utils.d.ts.map +1 -1
  212. package/dist/v2/helpers/test-utils.js +18 -0
  213. package/dist/v2/helpers/test-utils.js.map +1 -0
  214. package/dist/v2/hooks/index.d.ts +2 -0
  215. package/dist/v2/hooks/index.d.ts.map +1 -0
  216. package/dist/v2/hooks/index.js +2 -0
  217. package/dist/v2/types/options.d.ts +1 -1
  218. package/dist/v2/types/options.d.ts.map +1 -1
  219. package/dist/v2/workspace-events.d.ts.map +1 -1
  220. package/dist/v2/workspace-events.js +2 -0
  221. package/dist/v2/workspace-events.js.map +1 -1
  222. package/dist/vue-styles.css +108 -658
  223. package/package.json +68 -97
  224. package/dist/components/IconSelector.vue.d.ts +0 -27
  225. package/dist/components/IconSelector.vue.d.ts.map +0 -1
  226. package/dist/components/IconSelector.vue.js +0 -7
  227. package/dist/components/IconSelector.vue.js.map +0 -1
  228. package/dist/components/IconSelector.vue.script.js +0 -65
  229. package/dist/components/IconSelector.vue.script.js.map +0 -1
  230. package/dist/components/ImportCollection/IntegrationLogo.vue.d.ts +0 -7
  231. package/dist/components/ImportCollection/IntegrationLogo.vue.d.ts.map +0 -1
  232. package/dist/components/ImportCollection/IntegrationLogo.vue.js +0 -7
  233. package/dist/components/ImportCollection/IntegrationLogo.vue.js.map +0 -1
  234. package/dist/components/ImportCollection/IntegrationLogo.vue.script.js +0 -50
  235. package/dist/components/ImportCollection/IntegrationLogo.vue.script.js.map +0 -1
  236. package/dist/components/ScalarAsciiArt.vue.d.ts.map +0 -1
  237. package/dist/components/ScalarAsciiArt.vue.js.map +0 -1
  238. package/dist/components/ScalarAsciiArt.vue.script.js.map +0 -1
  239. package/dist/index.d.ts +0 -2
  240. package/dist/index.d.ts.map +0 -1
  241. package/dist/monacoeditorwork/editor.worker.bundle.js +0 -14319
  242. package/dist/monacoeditorwork/json.worker.bundle.js +0 -22098
  243. package/dist/monacoeditorwork/yaml.worker.bundle.js +0 -38414
  244. package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts +0 -42
  245. package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts.map +0 -1
  246. package/dist/v2/blocks/request-block/helpers/get-default-headers.js +0 -61
  247. package/dist/v2/blocks/request-block/helpers/get-default-headers.js.map +0 -1
  248. package/dist/v2/features/app/App.vue.d.ts +0 -75
  249. package/dist/v2/features/app/App.vue.d.ts.map +0 -1
  250. package/dist/v2/features/app/App.vue.js +0 -8
  251. package/dist/v2/features/app/App.vue.js.map +0 -1
  252. package/dist/v2/features/app/App.vue.script.js +0 -284
  253. package/dist/v2/features/app/App.vue.script.js.map +0 -1
  254. package/dist/v2/features/app/app-events.d.ts +0 -20
  255. package/dist/v2/features/app/app-events.d.ts.map +0 -1
  256. package/dist/v2/features/app/app-events.js +0 -254
  257. package/dist/v2/features/app/app-events.js.map +0 -1
  258. package/dist/v2/features/app/app-state.d.ts +0 -156
  259. package/dist/v2/features/app/app-state.d.ts.map +0 -1
  260. package/dist/v2/features/app/app-state.js +0 -717
  261. package/dist/v2/features/app/app-state.js.map +0 -1
  262. package/dist/v2/features/app/components/AppHeader.vue.d.ts +0 -43
  263. package/dist/v2/features/app/components/AppHeader.vue.d.ts.map +0 -1
  264. package/dist/v2/features/app/components/AppHeader.vue.js +0 -7
  265. package/dist/v2/features/app/components/AppHeader.vue.js.map +0 -1
  266. package/dist/v2/features/app/components/AppHeader.vue.script.js +0 -53
  267. package/dist/v2/features/app/components/AppHeader.vue.script.js.map +0 -1
  268. package/dist/v2/features/app/components/AppHeaderActions.vue.d.ts +0 -32
  269. package/dist/v2/features/app/components/AppHeaderActions.vue.d.ts.map +0 -1
  270. package/dist/v2/features/app/components/AppHeaderActions.vue.js +0 -7
  271. package/dist/v2/features/app/components/AppHeaderActions.vue.js.map +0 -1
  272. package/dist/v2/features/app/components/AppHeaderActions.vue.script.js +0 -172
  273. package/dist/v2/features/app/components/AppHeaderActions.vue.script.js.map +0 -1
  274. package/dist/v2/features/app/components/AppSidebar.vue.d.ts +0 -37
  275. package/dist/v2/features/app/components/AppSidebar.vue.d.ts.map +0 -1
  276. package/dist/v2/features/app/components/AppSidebar.vue.js +0 -9
  277. package/dist/v2/features/app/components/AppSidebar.vue.js.map +0 -1
  278. package/dist/v2/features/app/components/AppSidebar.vue.script.js +0 -466
  279. package/dist/v2/features/app/components/AppSidebar.vue.script.js.map +0 -1
  280. package/dist/v2/features/app/components/CreateVersionModal.vue.d.ts +0 -28
  281. package/dist/v2/features/app/components/CreateVersionModal.vue.d.ts.map +0 -1
  282. package/dist/v2/features/app/components/CreateVersionModal.vue.js +0 -7
  283. package/dist/v2/features/app/components/CreateVersionModal.vue.js.map +0 -1
  284. package/dist/v2/features/app/components/CreateVersionModal.vue.script.js +0 -84
  285. package/dist/v2/features/app/components/CreateVersionModal.vue.script.js.map +0 -1
  286. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.d.ts +0 -16
  287. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.d.ts.map +0 -1
  288. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js +0 -7
  289. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js.map +0 -1
  290. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js +0 -58
  291. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js.map +0 -1
  292. package/dist/v2/features/app/components/DesktopTab.vue.d.ts +0 -27
  293. package/dist/v2/features/app/components/DesktopTab.vue.d.ts.map +0 -1
  294. package/dist/v2/features/app/components/DesktopTab.vue.js +0 -9
  295. package/dist/v2/features/app/components/DesktopTab.vue.js.map +0 -1
  296. package/dist/v2/features/app/components/DesktopTab.vue.script.js +0 -121
  297. package/dist/v2/features/app/components/DesktopTab.vue.script.js.map +0 -1
  298. package/dist/v2/features/app/components/DesktopTabs.vue.d.ts +0 -14
  299. package/dist/v2/features/app/components/DesktopTabs.vue.d.ts.map +0 -1
  300. package/dist/v2/features/app/components/DesktopTabs.vue.js +0 -7
  301. package/dist/v2/features/app/components/DesktopTabs.vue.js.map +0 -1
  302. package/dist/v2/features/app/components/DesktopTabs.vue.script.js +0 -75
  303. package/dist/v2/features/app/components/DesktopTabs.vue.script.js.map +0 -1
  304. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.d.ts +0 -25
  305. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.d.ts.map +0 -1
  306. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.js +0 -9
  307. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.js.map +0 -1
  308. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.script.js +0 -345
  309. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.script.js.map +0 -1
  310. package/dist/v2/features/app/components/DocumentSyncIndicator.vue.d.ts +0 -16
  311. package/dist/v2/features/app/components/DocumentSyncIndicator.vue.d.ts.map +0 -1
  312. package/dist/v2/features/app/components/PublishDocumentModal.vue.d.ts +0 -77
  313. package/dist/v2/features/app/components/PublishDocumentModal.vue.d.ts.map +0 -1
  314. package/dist/v2/features/app/components/PublishDocumentModal.vue.js +0 -7
  315. package/dist/v2/features/app/components/PublishDocumentModal.vue.js.map +0 -1
  316. package/dist/v2/features/app/components/PublishDocumentModal.vue.script.js +0 -209
  317. package/dist/v2/features/app/components/PublishDocumentModal.vue.script.js.map +0 -1
  318. package/dist/v2/features/app/components/SidebarDocument.vue.d.ts +0 -45
  319. package/dist/v2/features/app/components/SidebarDocument.vue.d.ts.map +0 -1
  320. package/dist/v2/features/app/components/SidebarDocument.vue.js +0 -7
  321. package/dist/v2/features/app/components/SidebarDocument.vue.js.map +0 -1
  322. package/dist/v2/features/app/components/SidebarDocument.vue.script.js +0 -137
  323. package/dist/v2/features/app/components/SidebarDocument.vue.script.js.map +0 -1
  324. package/dist/v2/features/app/components/SidebarItemMenu.vue.d.ts +0 -26
  325. package/dist/v2/features/app/components/SidebarItemMenu.vue.d.ts.map +0 -1
  326. package/dist/v2/features/app/components/SidebarItemMenu.vue.js +0 -7
  327. package/dist/v2/features/app/components/SidebarItemMenu.vue.js.map +0 -1
  328. package/dist/v2/features/app/components/SidebarItemMenu.vue.script.js +0 -175
  329. package/dist/v2/features/app/components/SidebarItemMenu.vue.script.js.map +0 -1
  330. package/dist/v2/features/app/components/SplashScreen.vue.d.ts +0 -4
  331. package/dist/v2/features/app/components/SplashScreen.vue.d.ts.map +0 -1
  332. package/dist/v2/features/app/components/SplashScreen.vue.js +0 -9
  333. package/dist/v2/features/app/components/SplashScreen.vue.js.map +0 -1
  334. package/dist/v2/features/app/components/SplashScreen.vue.script.js +0 -20
  335. package/dist/v2/features/app/components/SplashScreen.vue.script.js.map +0 -1
  336. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.d.ts +0 -18
  337. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.d.ts.map +0 -1
  338. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.js +0 -9
  339. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.js.map +0 -1
  340. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.script.js +0 -136
  341. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.script.js.map +0 -1
  342. package/dist/v2/features/app/components/index.d.ts +0 -2
  343. package/dist/v2/features/app/components/index.d.ts.map +0 -1
  344. package/dist/v2/features/app/components/index.js +0 -2
  345. package/dist/v2/features/app/helpers/check-version-conflict.d.ts +0 -54
  346. package/dist/v2/features/app/helpers/check-version-conflict.d.ts.map +0 -1
  347. package/dist/v2/features/app/helpers/check-version-conflict.js +0 -82
  348. package/dist/v2/features/app/helpers/check-version-conflict.js.map +0 -1
  349. package/dist/v2/features/app/helpers/compute-version-status.d.ts +0 -45
  350. package/dist/v2/features/app/helpers/compute-version-status.d.ts.map +0 -1
  351. package/dist/v2/features/app/helpers/compute-version-status.js +0 -18
  352. package/dist/v2/features/app/helpers/compute-version-status.js.map +0 -1
  353. package/dist/v2/features/app/helpers/create-api-client-app.d.ts +0 -59
  354. package/dist/v2/features/app/helpers/create-api-client-app.d.ts.map +0 -1
  355. package/dist/v2/features/app/helpers/create-api-client-app.js +0 -55
  356. package/dist/v2/features/app/helpers/create-api-client-app.js.map +0 -1
  357. package/dist/v2/features/app/helpers/create-draft-registry-document.d.ts +0 -39
  358. package/dist/v2/features/app/helpers/create-draft-registry-document.d.ts.map +0 -1
  359. package/dist/v2/features/app/helpers/create-draft-registry-document.js +0 -64
  360. package/dist/v2/features/app/helpers/create-draft-registry-document.js.map +0 -1
  361. package/dist/v2/features/app/helpers/create-temp-operation.d.ts +0 -14
  362. package/dist/v2/features/app/helpers/create-temp-operation.d.ts.map +0 -1
  363. package/dist/v2/features/app/helpers/create-temp-operation.js +0 -52
  364. package/dist/v2/features/app/helpers/create-temp-operation.js.map +0 -1
  365. package/dist/v2/features/app/helpers/detect-document-conflicts.d.ts +0 -26
  366. package/dist/v2/features/app/helpers/detect-document-conflicts.d.ts.map +0 -1
  367. package/dist/v2/features/app/helpers/detect-document-conflicts.js +0 -27
  368. package/dist/v2/features/app/helpers/detect-document-conflicts.js.map +0 -1
  369. package/dist/v2/features/app/helpers/filter-workspaces.d.ts +0 -49
  370. package/dist/v2/features/app/helpers/filter-workspaces.d.ts.map +0 -1
  371. package/dist/v2/features/app/helpers/filter-workspaces.js +0 -55
  372. package/dist/v2/features/app/helpers/filter-workspaces.js.map +0 -1
  373. package/dist/v2/features/app/helpers/get-route-param.d.ts +0 -7
  374. package/dist/v2/features/app/helpers/get-route-param.d.ts.map +0 -1
  375. package/dist/v2/features/app/helpers/get-route-param.js +0 -12
  376. package/dist/v2/features/app/helpers/get-route-param.js.map +0 -1
  377. package/dist/v2/features/app/helpers/group-workspaces.d.ts +0 -44
  378. package/dist/v2/features/app/helpers/group-workspaces.d.ts.map +0 -1
  379. package/dist/v2/features/app/helpers/group-workspaces.js +0 -53
  380. package/dist/v2/features/app/helpers/group-workspaces.js.map +0 -1
  381. package/dist/v2/features/app/helpers/load-registry-document.d.ts +0 -24
  382. package/dist/v2/features/app/helpers/load-registry-document.d.ts.map +0 -1
  383. package/dist/v2/features/app/helpers/load-registry-document.js +0 -47
  384. package/dist/v2/features/app/helpers/load-registry-document.js.map +0 -1
  385. package/dist/v2/features/app/helpers/registry-error-messages.d.ts +0 -23
  386. package/dist/v2/features/app/helpers/registry-error-messages.d.ts.map +0 -1
  387. package/dist/v2/features/app/helpers/registry-error-messages.js +0 -63
  388. package/dist/v2/features/app/helpers/registry-error-messages.js.map +0 -1
  389. package/dist/v2/features/app/helpers/routes.d.ts +0 -184
  390. package/dist/v2/features/app/helpers/routes.d.ts.map +0 -1
  391. package/dist/v2/features/app/helpers/routes.js +0 -153
  392. package/dist/v2/features/app/helpers/routes.js.map +0 -1
  393. package/dist/v2/features/app/helpers/version-status-presentation.d.ts +0 -24
  394. package/dist/v2/features/app/helpers/version-status-presentation.d.ts.map +0 -1
  395. package/dist/v2/features/app/helpers/version-status-presentation.js +0 -43
  396. package/dist/v2/features/app/helpers/version-status-presentation.js.map +0 -1
  397. package/dist/v2/features/app/hooks/use-active-document-version.d.ts +0 -42
  398. package/dist/v2/features/app/hooks/use-active-document-version.d.ts.map +0 -1
  399. package/dist/v2/features/app/hooks/use-active-document-version.js +0 -60
  400. package/dist/v2/features/app/hooks/use-active-document-version.js.map +0 -1
  401. package/dist/v2/features/app/hooks/use-document-filter.d.ts +0 -38
  402. package/dist/v2/features/app/hooks/use-document-filter.d.ts.map +0 -1
  403. package/dist/v2/features/app/hooks/use-document-filter.js +0 -63
  404. package/dist/v2/features/app/hooks/use-document-filter.js.map +0 -1
  405. package/dist/v2/features/app/hooks/use-document-sync.d.ts +0 -126
  406. package/dist/v2/features/app/hooks/use-document-sync.d.ts.map +0 -1
  407. package/dist/v2/features/app/hooks/use-document-sync.js +0 -448
  408. package/dist/v2/features/app/hooks/use-document-sync.js.map +0 -1
  409. package/dist/v2/features/app/hooks/use-document-watcher.d.ts +0 -30
  410. package/dist/v2/features/app/hooks/use-document-watcher.d.ts.map +0 -1
  411. package/dist/v2/features/app/hooks/use-document-watcher.js +0 -168
  412. package/dist/v2/features/app/hooks/use-document-watcher.js.map +0 -1
  413. package/dist/v2/features/app/hooks/use-network-status.d.ts +0 -29
  414. package/dist/v2/features/app/hooks/use-network-status.d.ts.map +0 -1
  415. package/dist/v2/features/app/hooks/use-network-status.js +0 -58
  416. package/dist/v2/features/app/hooks/use-network-status.js.map +0 -1
  417. package/dist/v2/features/app/hooks/use-sidebar-context-menu.d.ts +0 -17258
  418. package/dist/v2/features/app/hooks/use-sidebar-context-menu.d.ts.map +0 -1
  419. package/dist/v2/features/app/hooks/use-sidebar-context-menu.js +0 -107
  420. package/dist/v2/features/app/hooks/use-sidebar-context-menu.js.map +0 -1
  421. package/dist/v2/features/app/hooks/use-sidebar-documents.d.ts +0 -119
  422. package/dist/v2/features/app/hooks/use-sidebar-documents.d.ts.map +0 -1
  423. package/dist/v2/features/app/hooks/use-sidebar-documents.js +0 -219
  424. package/dist/v2/features/app/hooks/use-sidebar-documents.js.map +0 -1
  425. package/dist/v2/features/app/hooks/use-theme.d.ts +0 -56
  426. package/dist/v2/features/app/hooks/use-theme.d.ts.map +0 -1
  427. package/dist/v2/features/app/hooks/use-theme.js +0 -94
  428. package/dist/v2/features/app/hooks/use-theme.js.map +0 -1
  429. package/dist/v2/features/app/hooks/use-version-conflict-check.d.ts +0 -35
  430. package/dist/v2/features/app/hooks/use-version-conflict-check.d.ts.map +0 -1
  431. package/dist/v2/features/app/hooks/use-version-conflict-check.js +0 -62
  432. package/dist/v2/features/app/hooks/use-version-conflict-check.js.map +0 -1
  433. package/dist/v2/features/app/index.d.ts +0 -10
  434. package/dist/v2/features/app/index.d.ts.map +0 -1
  435. package/dist/v2/features/app/index.js +0 -8
  436. package/dist/v2/features/collection/DocumentCollection.vue.d.ts +0 -13
  437. package/dist/v2/features/collection/DocumentCollection.vue.d.ts.map +0 -1
  438. package/dist/v2/features/collection/DocumentCollection.vue.js +0 -8
  439. package/dist/v2/features/collection/DocumentCollection.vue.js.map +0 -1
  440. package/dist/v2/features/collection/DocumentCollection.vue.script.js +0 -112
  441. package/dist/v2/features/collection/DocumentCollection.vue.script.js.map +0 -1
  442. package/dist/v2/features/collection/OperationCollection.vue.d.ts +0 -6
  443. package/dist/v2/features/collection/OperationCollection.vue.d.ts.map +0 -1
  444. package/dist/v2/features/collection/OperationCollection.vue.js +0 -7
  445. package/dist/v2/features/collection/OperationCollection.vue.js.map +0 -1
  446. package/dist/v2/features/collection/OperationCollection.vue.script.js +0 -95
  447. package/dist/v2/features/collection/OperationCollection.vue.script.js.map +0 -1
  448. package/dist/v2/features/collection/WorkspaceCollection.vue.d.ts +0 -6
  449. package/dist/v2/features/collection/WorkspaceCollection.vue.d.ts.map +0 -1
  450. package/dist/v2/features/collection/WorkspaceCollection.vue.js +0 -7
  451. package/dist/v2/features/collection/WorkspaceCollection.vue.js.map +0 -1
  452. package/dist/v2/features/collection/WorkspaceCollection.vue.script.js +0 -74
  453. package/dist/v2/features/collection/WorkspaceCollection.vue.script.js.map +0 -1
  454. package/dist/v2/features/collection/components/Authentication.vue.d.ts +0 -16
  455. package/dist/v2/features/collection/components/Authentication.vue.d.ts.map +0 -1
  456. package/dist/v2/features/collection/components/Authentication.vue.js +0 -9
  457. package/dist/v2/features/collection/components/Authentication.vue.js.map +0 -1
  458. package/dist/v2/features/collection/components/Authentication.vue.script.js +0 -174
  459. package/dist/v2/features/collection/components/Authentication.vue.script.js.map +0 -1
  460. package/dist/v2/features/collection/components/Cookies.vue.d.ts +0 -21
  461. package/dist/v2/features/collection/components/Cookies.vue.d.ts.map +0 -1
  462. package/dist/v2/features/collection/components/Cookies.vue.js +0 -7
  463. package/dist/v2/features/collection/components/Cookies.vue.js.map +0 -1
  464. package/dist/v2/features/collection/components/Cookies.vue.script.js +0 -58
  465. package/dist/v2/features/collection/components/Cookies.vue.script.js.map +0 -1
  466. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.d.ts +0 -12
  467. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.d.ts.map +0 -1
  468. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.js +0 -9
  469. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.js.map +0 -1
  470. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.script.js +0 -174
  471. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.script.js.map +0 -1
  472. package/dist/v2/features/collection/components/Editor/Editor.vue.d.ts +0 -16
  473. package/dist/v2/features/collection/components/Editor/Editor.vue.d.ts.map +0 -1
  474. package/dist/v2/features/collection/components/Editor/Editor.vue.js +0 -9
  475. package/dist/v2/features/collection/components/Editor/Editor.vue.js.map +0 -1
  476. package/dist/v2/features/collection/components/Editor/Editor.vue.script.js +0 -361
  477. package/dist/v2/features/collection/components/Editor/Editor.vue.script.js.map +0 -1
  478. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.d.ts +0 -19
  479. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.d.ts.map +0 -1
  480. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js +0 -7
  481. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js.map +0 -1
  482. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.script.js +0 -69
  483. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.script.js.map +0 -1
  484. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.d.ts +0 -16
  485. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.d.ts.map +0 -1
  486. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js +0 -7
  487. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js.map +0 -1
  488. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.script.js +0 -91
  489. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.script.js.map +0 -1
  490. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.d.ts +0 -12
  491. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.d.ts.map +0 -1
  492. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js +0 -22
  493. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js.map +0 -1
  494. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.d.ts +0 -11
  495. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.d.ts.map +0 -1
  496. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js +0 -17
  497. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js.map +0 -1
  498. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.d.ts +0 -7
  499. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.d.ts.map +0 -1
  500. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js +0 -17
  501. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js.map +0 -1
  502. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.d.ts +0 -10
  503. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.d.ts.map +0 -1
  504. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js +0 -34
  505. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js.map +0 -1
  506. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.d.ts +0 -10
  507. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.d.ts.map +0 -1
  508. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js +0 -18
  509. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js.map +0 -1
  510. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.d.ts +0 -15
  511. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.d.ts.map +0 -1
  512. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js +0 -36
  513. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js.map +0 -1
  514. package/dist/v2/features/collection/components/Editor/index.d.ts +0 -2
  515. package/dist/v2/features/collection/components/Editor/index.d.ts.map +0 -1
  516. package/dist/v2/features/collection/components/Editor/index.js +0 -2
  517. package/dist/v2/features/collection/components/Environment.vue.d.ts +0 -21
  518. package/dist/v2/features/collection/components/Environment.vue.d.ts.map +0 -1
  519. package/dist/v2/features/collection/components/Environment.vue.js +0 -7
  520. package/dist/v2/features/collection/components/Environment.vue.js.map +0 -1
  521. package/dist/v2/features/collection/components/Environment.vue.script.js +0 -61
  522. package/dist/v2/features/collection/components/Environment.vue.script.js.map +0 -1
  523. package/dist/v2/features/collection/components/Form.vue.d.ts +0 -29
  524. package/dist/v2/features/collection/components/Form.vue.d.ts.map +0 -1
  525. package/dist/v2/features/collection/components/Form.vue.js +0 -7
  526. package/dist/v2/features/collection/components/Form.vue.js.map +0 -1
  527. package/dist/v2/features/collection/components/Form.vue.script.js +0 -78
  528. package/dist/v2/features/collection/components/Form.vue.script.js.map +0 -1
  529. package/dist/v2/features/collection/components/GetStarted.vue.d.ts +0 -21
  530. package/dist/v2/features/collection/components/GetStarted.vue.d.ts.map +0 -1
  531. package/dist/v2/features/collection/components/GetStarted.vue.js +0 -7
  532. package/dist/v2/features/collection/components/GetStarted.vue.js.map +0 -1
  533. package/dist/v2/features/collection/components/GetStarted.vue.script.js +0 -144
  534. package/dist/v2/features/collection/components/GetStarted.vue.script.js.map +0 -1
  535. package/dist/v2/features/collection/components/LabelInput.vue.d.ts +0 -18
  536. package/dist/v2/features/collection/components/LabelInput.vue.d.ts.map +0 -1
  537. package/dist/v2/features/collection/components/LabelInput.vue.js +0 -9
  538. package/dist/v2/features/collection/components/LabelInput.vue.js.map +0 -1
  539. package/dist/v2/features/collection/components/LabelInput.vue.script.js +0 -38
  540. package/dist/v2/features/collection/components/LabelInput.vue.script.js.map +0 -1
  541. package/dist/v2/features/collection/components/Overview.vue.d.ts +0 -16
  542. package/dist/v2/features/collection/components/Overview.vue.d.ts.map +0 -1
  543. package/dist/v2/features/collection/components/Overview.vue.js +0 -9
  544. package/dist/v2/features/collection/components/Overview.vue.js.map +0 -1
  545. package/dist/v2/features/collection/components/Overview.vue.script.js +0 -204
  546. package/dist/v2/features/collection/components/Overview.vue.script.js.map +0 -1
  547. package/dist/v2/features/collection/components/Runner/components/Runner.vue.d.ts +0 -16
  548. package/dist/v2/features/collection/components/Runner/components/Runner.vue.d.ts.map +0 -1
  549. package/dist/v2/features/collection/components/Runner/components/Runner.vue.js +0 -7
  550. package/dist/v2/features/collection/components/Runner/components/Runner.vue.js.map +0 -1
  551. package/dist/v2/features/collection/components/Runner/components/Runner.vue.script.js +0 -223
  552. package/dist/v2/features/collection/components/Runner/components/Runner.vue.script.js.map +0 -1
  553. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.d.ts +0 -20
  554. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.d.ts.map +0 -1
  555. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.js +0 -7
  556. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.js.map +0 -1
  557. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.script.js +0 -45
  558. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.script.js.map +0 -1
  559. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.d.ts +0 -19
  560. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.d.ts.map +0 -1
  561. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.js +0 -7
  562. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.js.map +0 -1
  563. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.script.js +0 -73
  564. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.script.js.map +0 -1
  565. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.d.ts +0 -16
  566. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.d.ts.map +0 -1
  567. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.js +0 -7
  568. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.js.map +0 -1
  569. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.script.js +0 -124
  570. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.script.js.map +0 -1
  571. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.d.ts +0 -17
  572. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.d.ts.map +0 -1
  573. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.js +0 -7
  574. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.js.map +0 -1
  575. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.script.js +0 -126
  576. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.script.js.map +0 -1
  577. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.d.ts +0 -18
  578. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.d.ts.map +0 -1
  579. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.js +0 -7
  580. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.js.map +0 -1
  581. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.script.js +0 -180
  582. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.script.js.map +0 -1
  583. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.d.ts +0 -14
  584. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.d.ts.map +0 -1
  585. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.js +0 -7
  586. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.js.map +0 -1
  587. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.script.js +0 -44
  588. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.script.js.map +0 -1
  589. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.d.ts +0 -19
  590. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.d.ts.map +0 -1
  591. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.js +0 -7
  592. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.js.map +0 -1
  593. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.script.js +0 -53
  594. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.script.js.map +0 -1
  595. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.d.ts +0 -23
  596. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.d.ts.map +0 -1
  597. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.js +0 -7
  598. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.js.map +0 -1
  599. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.script.js +0 -75
  600. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.script.js.map +0 -1
  601. package/dist/v2/features/collection/components/Runner/hooks/index.d.ts +0 -3
  602. package/dist/v2/features/collection/components/Runner/hooks/index.d.ts.map +0 -1
  603. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.d.ts +0 -75
  604. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.d.ts.map +0 -1
  605. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.js +0 -191
  606. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.js.map +0 -1
  607. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.d.ts +0 -46
  608. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.d.ts.map +0 -1
  609. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.js +0 -114
  610. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.js.map +0 -1
  611. package/dist/v2/features/collection/components/Runner/index.d.ts +0 -2
  612. package/dist/v2/features/collection/components/Runner/index.d.ts.map +0 -1
  613. package/dist/v2/features/collection/components/Scripts.vue.d.ts +0 -16
  614. package/dist/v2/features/collection/components/Scripts.vue.d.ts.map +0 -1
  615. package/dist/v2/features/collection/components/Scripts.vue.js +0 -7
  616. package/dist/v2/features/collection/components/Scripts.vue.js.map +0 -1
  617. package/dist/v2/features/collection/components/Scripts.vue.script.js +0 -49
  618. package/dist/v2/features/collection/components/Scripts.vue.script.js.map +0 -1
  619. package/dist/v2/features/collection/components/Servers.vue.d.ts +0 -16
  620. package/dist/v2/features/collection/components/Servers.vue.d.ts.map +0 -1
  621. package/dist/v2/features/collection/components/Servers.vue.js +0 -7
  622. package/dist/v2/features/collection/components/Servers.vue.js.map +0 -1
  623. package/dist/v2/features/collection/components/Servers.vue.script.js +0 -219
  624. package/dist/v2/features/collection/components/Servers.vue.script.js.map +0 -1
  625. package/dist/v2/features/collection/components/Settings.vue.d.ts +0 -16
  626. package/dist/v2/features/collection/components/Settings.vue.d.ts.map +0 -1
  627. package/dist/v2/features/collection/components/Settings.vue.js +0 -7
  628. package/dist/v2/features/collection/components/Settings.vue.js.map +0 -1
  629. package/dist/v2/features/collection/components/Settings.vue.script.js +0 -81
  630. package/dist/v2/features/collection/components/Settings.vue.script.js.map +0 -1
  631. package/dist/v2/features/collection/components/Tabs.vue.d.ts +0 -8
  632. package/dist/v2/features/collection/components/Tabs.vue.d.ts.map +0 -1
  633. package/dist/v2/features/collection/components/Tabs.vue.js +0 -7
  634. package/dist/v2/features/collection/components/Tabs.vue.js.map +0 -1
  635. package/dist/v2/features/collection/components/Tabs.vue.script.js +0 -55
  636. package/dist/v2/features/collection/components/Tabs.vue.script.js.map +0 -1
  637. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.d.ts +0 -12
  638. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.d.ts.map +0 -1
  639. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js +0 -19
  640. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js.map +0 -1
  641. package/dist/v2/features/command-palette/TheCommandPalette.vue.d.ts +0 -42
  642. package/dist/v2/features/command-palette/TheCommandPalette.vue.d.ts.map +0 -1
  643. package/dist/v2/features/command-palette/TheCommandPalette.vue.js +0 -9
  644. package/dist/v2/features/command-palette/TheCommandPalette.vue.js.map +0 -1
  645. package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js +0 -189
  646. package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js.map +0 -1
  647. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.d.ts +0 -49
  648. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.d.ts.map +0 -1
  649. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js +0 -7
  650. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js.map +0 -1
  651. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.script.js +0 -225
  652. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.script.js.map +0 -1
  653. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts +0 -53
  654. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts.map +0 -1
  655. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js +0 -7
  656. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js.map +0 -1
  657. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js +0 -227
  658. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js.map +0 -1
  659. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.d.ts +0 -44
  660. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.d.ts.map +0 -1
  661. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js +0 -9
  662. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js.map +0 -1
  663. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.script.js +0 -137
  664. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.script.js.map +0 -1
  665. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts +0 -30
  666. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts.map +0 -1
  667. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js +0 -7
  668. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js.map +0 -1
  669. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js +0 -156
  670. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js.map +0 -1
  671. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.d.ts +0 -37
  672. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.d.ts.map +0 -1
  673. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js +0 -7
  674. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js.map +0 -1
  675. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js +0 -105
  676. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js.map +0 -1
  677. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.d.ts +0 -48
  678. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.d.ts.map +0 -1
  679. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js +0 -7
  680. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js.map +0 -1
  681. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.script.js +0 -228
  682. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.script.js.map +0 -1
  683. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.d.ts +0 -65
  684. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.d.ts.map +0 -1
  685. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js +0 -7
  686. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js.map +0 -1
  687. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.script.js +0 -142
  688. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.script.js.map +0 -1
  689. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.d.ts +0 -58
  690. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.d.ts.map +0 -1
  691. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js +0 -9
  692. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js.map +0 -1
  693. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js +0 -142
  694. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js.map +0 -1
  695. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.d.ts +0 -23
  696. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.d.ts.map +0 -1
  697. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.js +0 -9
  698. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.js.map +0 -1
  699. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.script.js +0 -138
  700. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.script.js.map +0 -1
  701. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.d.ts +0 -34
  702. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.d.ts.map +0 -1
  703. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js +0 -7
  704. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js.map +0 -1
  705. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.script.js +0 -39
  706. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.script.js.map +0 -1
  707. package/dist/v2/features/command-palette/helpers/generate-unique-slug.d.ts +0 -20
  708. package/dist/v2/features/command-palette/helpers/generate-unique-slug.d.ts.map +0 -1
  709. package/dist/v2/features/command-palette/helpers/generate-unique-slug.js +0 -33
  710. package/dist/v2/features/command-palette/helpers/generate-unique-slug.js.map +0 -1
  711. package/dist/v2/features/command-palette/helpers/get-merge-key.d.ts +0 -11
  712. package/dist/v2/features/command-palette/helpers/get-merge-key.d.ts.map +0 -1
  713. package/dist/v2/features/command-palette/helpers/get-merge-key.js +0 -32
  714. package/dist/v2/features/command-palette/helpers/get-merge-key.js.map +0 -1
  715. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.d.ts +0 -24
  716. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.d.ts.map +0 -1
  717. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js +0 -56
  718. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js.map +0 -1
  719. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.d.ts +0 -24
  720. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.d.ts.map +0 -1
  721. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js +0 -22
  722. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js.map +0 -1
  723. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.d.ts +0 -26
  724. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.d.ts.map +0 -1
  725. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js +0 -119
  726. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js.map +0 -1
  727. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.d.ts +0 -14
  728. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.d.ts.map +0 -1
  729. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.js +0 -19
  730. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.js.map +0 -1
  731. package/dist/v2/features/command-palette/helpers/get-postman-document-details.d.ts +0 -28
  732. package/dist/v2/features/command-palette/helpers/get-postman-document-details.d.ts.map +0 -1
  733. package/dist/v2/features/command-palette/helpers/get-postman-document-details.js +0 -36
  734. package/dist/v2/features/command-palette/helpers/get-postman-document-details.js.map +0 -1
  735. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.d.ts +0 -30
  736. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.d.ts.map +0 -1
  737. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js +0 -70
  738. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js.map +0 -1
  739. package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts +0 -20
  740. package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts.map +0 -1
  741. package/dist/v2/features/command-palette/helpers/load-document-from-source.js +0 -72
  742. package/dist/v2/features/command-palette/helpers/load-document-from-source.js.map +0 -1
  743. package/dist/v2/features/command-palette/helpers/parse-curl.d.ts +0 -14
  744. package/dist/v2/features/command-palette/helpers/parse-curl.d.ts.map +0 -1
  745. package/dist/v2/features/command-palette/helpers/parse-curl.js +0 -106
  746. package/dist/v2/features/command-palette/helpers/parse-curl.js.map +0 -1
  747. package/dist/v2/features/command-palette/helpers/postman-request-collisions.d.ts +0 -11
  748. package/dist/v2/features/command-palette/helpers/postman-request-collisions.d.ts.map +0 -1
  749. package/dist/v2/features/command-palette/helpers/postman-request-collisions.js +0 -35
  750. package/dist/v2/features/command-palette/helpers/postman-request-collisions.js.map +0 -1
  751. package/dist/v2/features/command-palette/helpers/postman-request-tree.d.ts +0 -41
  752. package/dist/v2/features/command-palette/helpers/postman-request-tree.d.ts.map +0 -1
  753. package/dist/v2/features/command-palette/helpers/postman-request-tree.js +0 -139
  754. package/dist/v2/features/command-palette/helpers/postman-request-tree.js.map +0 -1
  755. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts +0 -426
  756. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts.map +0 -1
  757. package/dist/v2/features/command-palette/hooks/use-command-palette-state.js +0 -207
  758. package/dist/v2/features/command-palette/hooks/use-command-palette-state.js.map +0 -1
  759. package/dist/v2/features/editor/config.d.ts +0 -16
  760. package/dist/v2/features/editor/config.d.ts.map +0 -1
  761. package/dist/v2/features/editor/config.js +0 -19
  762. package/dist/v2/features/editor/config.js.map +0 -1
  763. package/dist/v2/features/editor/helpers/configure-language-support.d.ts +0 -13
  764. package/dist/v2/features/editor/helpers/configure-language-support.d.ts.map +0 -1
  765. package/dist/v2/features/editor/helpers/configure-language-support.js +0 -48
  766. package/dist/v2/features/editor/helpers/configure-language-support.js.map +0 -1
  767. package/dist/v2/features/editor/helpers/ensure-monaco-environment.d.ts +0 -6
  768. package/dist/v2/features/editor/helpers/ensure-monaco-environment.d.ts.map +0 -1
  769. package/dist/v2/features/editor/helpers/ensure-monaco-environment.js +0 -21
  770. package/dist/v2/features/editor/helpers/ensure-monaco-environment.js.map +0 -1
  771. package/dist/v2/features/editor/helpers/json/create-json-model.d.ts +0 -12
  772. package/dist/v2/features/editor/helpers/json/create-json-model.d.ts.map +0 -1
  773. package/dist/v2/features/editor/helpers/json/create-json-model.js +0 -31
  774. package/dist/v2/features/editor/helpers/json/create-json-model.js.map +0 -1
  775. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts +0 -14
  776. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts.map +0 -1
  777. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js +0 -22
  778. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js.map +0 -1
  779. package/dist/v2/features/editor/helpers/json/json-ast.d.ts +0 -12
  780. package/dist/v2/features/editor/helpers/json/json-ast.d.ts.map +0 -1
  781. package/dist/v2/features/editor/helpers/json/json-ast.js +0 -32
  782. package/dist/v2/features/editor/helpers/json/json-ast.js.map +0 -1
  783. package/dist/v2/features/editor/helpers/json/json-pointer-links.d.ts +0 -15
  784. package/dist/v2/features/editor/helpers/json/json-pointer-links.d.ts.map +0 -1
  785. package/dist/v2/features/editor/helpers/json/json-pointer-links.js +0 -104
  786. package/dist/v2/features/editor/helpers/json/json-pointer-links.js.map +0 -1
  787. package/dist/v2/features/editor/helpers/json/json-pointer-path.d.ts +0 -7
  788. package/dist/v2/features/editor/helpers/json/json-pointer-path.d.ts.map +0 -1
  789. package/dist/v2/features/editor/helpers/json/json-pointer-path.js +0 -27
  790. package/dist/v2/features/editor/helpers/json/json-pointer-path.js.map +0 -1
  791. package/dist/v2/features/editor/helpers/model.d.ts +0 -9
  792. package/dist/v2/features/editor/helpers/model.d.ts.map +0 -1
  793. package/dist/v2/features/editor/helpers/range-to-whole-line.d.ts +0 -14
  794. package/dist/v2/features/editor/helpers/range-to-whole-line.d.ts.map +0 -1
  795. package/dist/v2/features/editor/helpers/range-to-whole-line.js +0 -27
  796. package/dist/v2/features/editor/helpers/range-to-whole-line.js.map +0 -1
  797. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.d.ts +0 -16
  798. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.d.ts.map +0 -1
  799. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js +0 -84
  800. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js.map +0 -1
  801. package/dist/v2/features/editor/helpers/theme/load-css-variables.d.ts +0 -36
  802. package/dist/v2/features/editor/helpers/theme/load-css-variables.d.ts.map +0 -1
  803. package/dist/v2/features/editor/helpers/theme/load-css-variables.js +0 -117
  804. package/dist/v2/features/editor/helpers/theme/load-css-variables.js.map +0 -1
  805. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.d.ts +0 -13
  806. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.d.ts.map +0 -1
  807. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js +0 -32
  808. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js.map +0 -1
  809. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.d.ts +0 -19
  810. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.d.ts.map +0 -1
  811. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js +0 -70
  812. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js.map +0 -1
  813. package/dist/v2/features/editor/hooks/use-editor-markers.d.ts +0 -152
  814. package/dist/v2/features/editor/hooks/use-editor-markers.d.ts.map +0 -1
  815. package/dist/v2/features/editor/hooks/use-editor-markers.js +0 -37
  816. package/dist/v2/features/editor/hooks/use-editor-markers.js.map +0 -1
  817. package/dist/v2/features/editor/hooks/use-editor.d.ts +0 -39
  818. package/dist/v2/features/editor/hooks/use-editor.d.ts.map +0 -1
  819. package/dist/v2/features/editor/hooks/use-editor.js +0 -133
  820. package/dist/v2/features/editor/hooks/use-editor.js.map +0 -1
  821. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.d.ts +0 -16
  822. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.d.ts.map +0 -1
  823. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js +0 -45
  824. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js.map +0 -1
  825. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.d.ts +0 -77
  826. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.d.ts.map +0 -1
  827. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js +0 -396
  828. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js.map +0 -1
  829. package/dist/v2/features/editor/index.d.ts +0 -5
  830. package/dist/v2/features/editor/index.d.ts.map +0 -1
  831. package/dist/v2/features/editor/index.js +0 -5
  832. package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js +0 -51
  833. package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js.map +0 -1
  834. package/dist/v2/features/global-cookies/components/CookiesTable.vue.d.ts +0 -10
  835. package/dist/v2/features/global-cookies/components/CookiesTable.vue.d.ts.map +0 -1
  836. package/dist/v2/features/global-cookies/components/CookiesTable.vue.js +0 -9
  837. package/dist/v2/features/global-cookies/components/CookiesTable.vue.js.map +0 -1
  838. package/dist/v2/features/global-cookies/components/CookiesTable.vue.script.js +0 -188
  839. package/dist/v2/features/global-cookies/components/CookiesTable.vue.script.js.map +0 -1
  840. package/dist/v2/features/global-cookies/index.d.ts +0 -2
  841. package/dist/v2/features/global-cookies/index.d.ts.map +0 -1
  842. package/dist/v2/features/global-cookies/index.js +0 -2
  843. package/dist/v2/features/settings/CollectionSettings.vue.d.ts +0 -28
  844. package/dist/v2/features/settings/CollectionSettings.vue.d.ts.map +0 -1
  845. package/dist/v2/features/settings/CollectionSettings.vue.js +0 -7
  846. package/dist/v2/features/settings/CollectionSettings.vue.js.map +0 -1
  847. package/dist/v2/features/settings/CollectionSettings.vue.script.js +0 -229
  848. package/dist/v2/features/settings/CollectionSettings.vue.script.js.map +0 -1
  849. package/dist/v2/features/settings/DocumentSettings.vue.d.ts +0 -20
  850. package/dist/v2/features/settings/DocumentSettings.vue.d.ts.map +0 -1
  851. package/dist/v2/features/settings/DocumentSettings.vue.js +0 -7
  852. package/dist/v2/features/settings/DocumentSettings.vue.js.map +0 -1
  853. package/dist/v2/features/settings/DocumentSettings.vue.script.js +0 -92
  854. package/dist/v2/features/settings/DocumentSettings.vue.script.js.map +0 -1
  855. package/dist/v2/features/settings/components/Appearance.vue.d.ts +0 -11
  856. package/dist/v2/features/settings/components/Appearance.vue.d.ts.map +0 -1
  857. package/dist/v2/features/settings/components/Appearance.vue.js +0 -7
  858. package/dist/v2/features/settings/components/Appearance.vue.js.map +0 -1
  859. package/dist/v2/features/settings/components/Appearance.vue.script.js +0 -63
  860. package/dist/v2/features/settings/components/Appearance.vue.script.js.map +0 -1
  861. package/dist/v2/features/settings/components/Section.vue.d.ts +0 -16
  862. package/dist/v2/features/settings/components/Section.vue.d.ts.map +0 -1
  863. package/dist/v2/features/settings/components/Section.vue.js +0 -7
  864. package/dist/v2/features/settings/components/Section.vue.js.map +0 -1
  865. package/dist/v2/features/settings/components/Section.vue.script.js +0 -30
  866. package/dist/v2/features/settings/components/Section.vue.script.js.map +0 -1
  867. package/dist/v2/features/settings/helpers/get-theme-colors.d.ts +0 -10
  868. package/dist/v2/features/settings/helpers/get-theme-colors.d.ts.map +0 -1
  869. package/dist/v2/features/settings/helpers/get-theme-colors.js +0 -68
  870. package/dist/v2/features/settings/helpers/get-theme-colors.js.map +0 -1
  871. package/dist/v2/features/settings/index.d.ts +0 -3
  872. package/dist/v2/features/settings/index.d.ts.map +0 -1
  873. package/dist/v2/features/settings/index.js +0 -3
  874. package/dist/v2/helpers/download-document.d.ts +0 -2
  875. package/dist/v2/helpers/download-document.d.ts.map +0 -1
  876. package/dist/v2/helpers/download-document.js +0 -42
  877. package/dist/v2/helpers/download-document.js.map +0 -1
  878. package/dist/v2/helpers/drag-handle-factory.d.ts +0 -16
  879. package/dist/v2/helpers/drag-handle-factory.d.ts.map +0 -1
  880. package/dist/v2/helpers/drag-handle-factory.js +0 -258
  881. package/dist/v2/helpers/drag-handle-factory.js.map +0 -1
  882. package/dist/v2/helpers/get-tab-details.d.ts +0 -43
  883. package/dist/v2/helpers/get-tab-details.d.ts.map +0 -1
  884. package/dist/v2/helpers/get-tab-details.js +0 -54
  885. package/dist/v2/helpers/get-tab-details.js.map +0 -1
  886. package/dist/v2/helpers/is-url.d.ts +0 -2
  887. package/dist/v2/helpers/is-url.d.ts.map +0 -1
  888. package/dist/v2/helpers/is-url.js +0 -10
  889. package/dist/v2/helpers/is-url.js.map +0 -1
  890. package/dist/v2/helpers/safe-run.d.ts +0 -34
  891. package/dist/v2/helpers/safe-run.d.ts.map +0 -1
  892. package/dist/v2/helpers/safe-run.js +0 -43
  893. package/dist/v2/helpers/safe-run.js.map +0 -1
  894. package/dist/v2/helpers/storage.d.ts +0 -31
  895. package/dist/v2/helpers/storage.d.ts.map +0 -1
  896. package/dist/v2/helpers/storage.js +0 -37
  897. package/dist/v2/helpers/storage.js.map +0 -1
  898. package/dist/v2/hooks/use-color-mode.d.ts +0 -20
  899. package/dist/v2/hooks/use-color-mode.d.ts.map +0 -1
  900. package/dist/v2/hooks/use-color-mode.js +0 -72
  901. package/dist/v2/hooks/use-color-mode.js.map +0 -1
  902. package/dist/v2/types/configuration.d.ts +0 -278
  903. package/dist/v2/types/configuration.d.ts.map +0 -1
  904. /package/dist/components/{ScalarAsciiArt.vue.d.ts → ScalarAsciiArt/ScalarAsciiArt.vue.d.ts} +0 -0
  905. /package/dist/{index.js → types/index.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"operation-to-har.d.ts","sourceRoot":"","sources":["../../../../../../src/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAEnE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AAEzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qEAAqE,CAAA;AACxG,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AACjH,OAAO,KAAK,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AASvD,MAAM,MAAM,mBAAmB,GAAG;IAChC,+BAA+B;IAC/B,SAAS,EAAE,eAAe,CAAA;IAC1B,mCAAmC;IACnC,MAAM,EAAE,UAAU,CAAA;IAClB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAC5B,2EAA2E;IAC3E,eAAe,CAAC,EAAE,0BAA0B,EAAE,CAAA;IAC9C,mCAAmC;IACnC,aAAa,CAAC,EAAE,aAAa,EAAE,CAAA;IAC/B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B;;;OAGG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxD;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACpC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,cAAc,GAAI,+KAY5B,mBAAmB,KAAG,UAqGxB,CAAA"}
1
+ {"version":3,"file":"operation-to-har.d.ts","sourceRoot":"","sources":["../../../../../../src/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAEnE,OAAO,EACL,KAAK,0BAA0B,EAIhC,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qEAAqE,CAAA;AACxG,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AACjH,OAAO,KAAK,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,YAAY,CAAA;AASvD,MAAM,MAAM,mBAAmB,GAAG;IAChC,+BAA+B;IAC/B,SAAS,EAAE,eAAe,CAAA;IAC1B,mCAAmC;IACnC,MAAM,EAAE,UAAU,CAAA;IAClB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAA;IAC5B,2EAA2E;IAC3E,eAAe,CAAC,EAAE,0BAA0B,EAAE,CAAA;IAC9C,mCAAmC;IACnC,aAAa,CAAC,EAAE,aAAa,EAAE,CAAA;IAC/B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B;;;OAGG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxD;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAA;CACpC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,cAAc,GAAI,+KAY5B,mBAAmB,KAAG,UAwGxB,CAAA"}
@@ -1,9 +1,10 @@
1
- import { getDefaultHeaders } from "../../../request-block/helpers/get-default-headers.js";
1
+ import { APP_VERSION } from "../../../../constants.js";
2
2
  import { processBody } from "./process-body.js";
3
3
  import { processParameters } from "./process-parameters.js";
4
4
  import { processSecuritySchemes } from "./process-security-schemes.js";
5
5
  import { processServerUrl } from "./process-server-url.js";
6
- import { filterGlobalCookie } from "@scalar/workspace-store/request-example";
6
+ import { filterGlobalCookie, getDefaultHeaders, restoreConventionalDefaultHeaderNames } from "@scalar/workspace-store/request-example";
7
+ import { isElectron } from "@scalar/helpers/general/is-electron";
7
8
  import { getResolvedRef } from "@scalar/workspace-store/helpers/get-resolved-ref";
8
9
  //#region src/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.ts
9
10
  /**
@@ -29,19 +30,24 @@ import { getResolvedRef } from "@scalar/workspace-store/helpers/get-resolved-ref
29
30
  * @see https://spec.openapis.org/oas/v3.1.0#operation-object
30
31
  */
31
32
  var operationToHar = ({ includeDefaultHeaders = false, operation, contentType, method, path, server = null, example, securitySchemes, globalCookies, requestBodyCompositionSelection, defaultDisabledParameters = false }) => {
32
- const defaultHeaders = includeDefaultHeaders ? getDefaultHeaders({
33
+ const defaultHeadersWithConventionalNames = restoreConventionalDefaultHeaderNames(includeDefaultHeaders ? getDefaultHeaders({
33
34
  method,
34
35
  operation,
35
- exampleKey: example ?? "default",
36
- hideDisabledHeaders: true
37
- }).filter((header) => !header.isOverridden) : [];
36
+ exampleName: example ?? "default",
37
+ hideDisabledHeaders: true,
38
+ hideOverriddenHeaders: true,
39
+ options: {
40
+ isElectron: isElectron(),
41
+ appVersion: APP_VERSION
42
+ }
43
+ }) : {});
38
44
  const disabledGlobalCookies = operation["x-scalar-disable-parameters"]?.["global-cookies"]?.[example ?? "default"] ?? {};
39
45
  const harRequest = {
40
46
  method,
41
47
  url: processServerUrl(server, path),
42
- headers: defaultHeaders.map((header) => ({
43
- name: header.name,
44
- value: header.defaultValue
48
+ headers: Object.entries(defaultHeadersWithConventionalNames).map(([name, value]) => ({
49
+ name,
50
+ value
45
51
  })),
46
52
  queryString: [],
47
53
  postData: void 0,
@@ -1 +1 @@
1
- {"version":3,"file":"operation-to-har.js","names":[],"sources":["../../../../../../src/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.ts"],"sourcesContent":["import type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { SecuritySchemeObjectSecret } from '@scalar/workspace-store/request-example'\nimport { filterGlobalCookie } from '@scalar/workspace-store/request-example'\nimport type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'\nimport type { OperationObject, ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport type { Request as HarRequest } from 'har-format'\n\nimport { getDefaultHeaders } from '@/v2/blocks/request-block/helpers/get-default-headers'\n\nimport { processBody } from './process-body'\nimport { processParameters } from './process-parameters'\nimport { processSecuritySchemes } from './process-security-schemes'\nimport { processServerUrl } from './process-server-url'\n\nexport type OperationToHarProps = {\n /** OpenAPI Operation object */\n operation: OperationObject\n /** HTTP method of the operation */\n method: HttpMethod\n /** Path of the operation */\n path: string\n /**\n * Name of the currently selected operation example\n *\n * Applies to both the body and the parameters\n */\n example?: string\n /**\n * Content type of the operation\n *\n * Applies to both the body and the parameters (if applicable)\n * @defaults to the first content type in the MediaTypeObject\n */\n contentType?: string\n /** OpenAPI Server object */\n server?: ServerObject | null\n /** OpenAPI SecurityScheme objects which are applicable to the operation */\n securitySchemes?: SecuritySchemeObjectSecret[]\n /** Workspace + document cookies */\n globalCookies?: XScalarCookie[]\n /**\n * Whether to include default headers (e.g., Accept, Content-Type) automatically.\n * If false, default headers will be omitted from the HAR request.\n * @default true\n */\n includeDefaultHeaders?: boolean\n /**\n * Selected oneOf/anyOf variants for nested request body example generation\n * (e.g. from the schema dropdowns in the API reference).\n */\n requestBodyCompositionSelection?: Record<string, number>\n /**\n * Whether to disable parameters by default.\n * @default false\n */\n defaultDisabledParameters?: boolean\n}\n\n/**\n * Converts an OpenAPI Operation to a HarRequest format for generating HTTP request snippets.\n *\n * This function transforms OpenAPI 3.1 operation objects into HAR (HTTP Archive) format requests,\n * which can be used to generate code snippets for various programming languages and HTTP clients.\n *\n * The conversion handles:\n * - Server URL processing and path parameter substitution\n * - Query parameter formatting based on OpenAPI parameter styles\n * - Request body processing with content type handling\n * - Security scheme integration (API keys, etc.)\n *\n * The resulting HarRequest object follows the HAR specification and includes:\n * - HTTP method and URL\n * - Headers and query parameters\n * - Request body (if present)\n * - Cookie information\n * - Size calculations for headers and body\n *\n * @see https://w3c.github.io/web-performance/specs/HAR/Overview.html\n * @see https://spec.openapis.org/oas/v3.1.0#operation-object\n */\nexport const operationToHar = ({\n includeDefaultHeaders = false,\n operation,\n contentType,\n method,\n path,\n server = null,\n example,\n securitySchemes,\n globalCookies,\n requestBodyCompositionSelection,\n defaultDisabledParameters = false,\n}: OperationToHarProps): HarRequest => {\n const defaultHeaders = includeDefaultHeaders\n ? getDefaultHeaders({\n method,\n operation,\n exampleKey: example ?? 'default',\n hideDisabledHeaders: true,\n }).filter((header) => !header.isOverridden)\n : []\n\n const disabledGlobalCookies =\n operation['x-scalar-disable-parameters']?.['global-cookies']?.[example ?? 'default'] ?? {}\n\n const serverUrl = processServerUrl(server, path)\n\n // Initialize the HAR request with basic properties\n const harRequest: HarRequest = {\n method,\n url: serverUrl,\n headers: defaultHeaders.map((header) => ({ name: header.name, value: header.defaultValue })),\n queryString: [],\n postData: undefined,\n httpVersion: 'HTTP/1.1',\n cookies: [],\n headersSize: -1,\n bodySize: -1,\n }\n\n // Handle parameters\n if (operation.parameters) {\n const { url, headers, queryString, cookies } = processParameters({\n harRequest,\n parameters: operation.parameters,\n example,\n defaultDisabled: defaultDisabledParameters,\n })\n\n // Correctly filter the global cookies by the processed url\n const filteredGlobalCookies =\n globalCookies\n ?.filter((cookie) => filterGlobalCookie({ cookie, url, disabledGlobalCookies }))\n ?.map((cookie) => ({ name: cookie.name, value: cookie.value })) ?? []\n\n harRequest.url = url\n harRequest.headers = headers\n harRequest.queryString = queryString\n harRequest.cookies = [...filteredGlobalCookies, ...cookies]\n }\n\n const body = getResolvedRef(operation.requestBody)\n\n // Handle request body\n if (body?.content) {\n const postData = processBody({\n requestBody: body,\n contentType,\n example,\n requestBodyCompositionSelection,\n })\n\n if (postData) {\n harRequest.postData = postData\n harRequest.bodySize = postData.text?.length ?? -1\n\n // Add or update Content-Type header\n if (postData.mimeType) {\n const existingContentTypeHeader = harRequest.headers.find(\n (header) => header.name.toLowerCase() === 'content-type',\n )\n // Update existing header if it has an empty value\n if (existingContentTypeHeader && !existingContentTypeHeader.value) {\n existingContentTypeHeader.value = postData.mimeType\n }\n // Add new header if none exists\n else if (!existingContentTypeHeader) {\n harRequest.headers.push({\n name: 'Content-Type',\n value: postData.mimeType,\n })\n }\n }\n }\n }\n\n // Handle security schemes\n if (securitySchemes) {\n const { headers, queryString, cookies } = processSecuritySchemes(securitySchemes)\n harRequest.headers.push(...headers)\n harRequest.queryString.push(...queryString)\n harRequest.cookies.push(...cookies)\n }\n\n // Calculate headers size without allocating a large joined string\n let headersSize = 0\n for (const h of harRequest.headers) {\n // name + \": \" + value + \"\\r\\n\"\n headersSize += (h.name?.length ?? 0) + 2 + (h.value?.length ?? 0) + 2\n }\n harRequest.headersSize = headersSize\n\n return harRequest\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiFA,IAAa,kBAAkB,EAC7B,wBAAwB,OACxB,WACA,aACA,QACA,MACA,SAAS,MACT,SACA,iBACA,eACA,iCACA,4BAA4B,YACS;CACrC,MAAM,iBAAiB,wBACnB,kBAAkB;EAChB;EACA;EACA,YAAY,WAAW;EACvB,qBAAqB;EACtB,CAAC,CAAC,QAAQ,WAAW,CAAC,OAAO,aAAa,GAC3C,EAAE;CAEN,MAAM,wBACJ,UAAU,iCAAiC,oBAAoB,WAAW,cAAc,EAAE;CAK5F,MAAM,aAAyB;EAC7B;EACA,KALgB,iBAAiB,QAAQ,KAAK;EAM9C,SAAS,eAAe,KAAK,YAAY;GAAE,MAAM,OAAO;GAAM,OAAO,OAAO;GAAc,EAAE;EAC5F,aAAa,EAAE;EACf,UAAU,KAAA;EACV,aAAa;EACb,SAAS,EAAE;EACX,aAAa;EACb,UAAU;EACX;AAGD,KAAI,UAAU,YAAY;EACxB,MAAM,EAAE,KAAK,SAAS,aAAa,YAAY,kBAAkB;GAC/D;GACA,YAAY,UAAU;GACtB;GACA,iBAAiB;GAClB,CAAC;EAGF,MAAM,wBACJ,eACI,QAAQ,WAAW,mBAAmB;GAAE;GAAQ;GAAK;GAAuB,CAAC,CAAC,EAC9E,KAAK,YAAY;GAAE,MAAM,OAAO;GAAM,OAAO,OAAO;GAAO,EAAE,IAAI,EAAE;AAEzE,aAAW,MAAM;AACjB,aAAW,UAAU;AACrB,aAAW,cAAc;AACzB,aAAW,UAAU,CAAC,GAAG,uBAAuB,GAAG,QAAQ;;CAG7D,MAAM,OAAO,eAAe,UAAU,YAAY;AAGlD,KAAI,MAAM,SAAS;EACjB,MAAM,WAAW,YAAY;GAC3B,aAAa;GACb;GACA;GACA;GACD,CAAC;AAEF,MAAI,UAAU;AACZ,cAAW,WAAW;AACtB,cAAW,WAAW,SAAS,MAAM,UAAU;AAG/C,OAAI,SAAS,UAAU;IACrB,MAAM,4BAA4B,WAAW,QAAQ,MAClD,WAAW,OAAO,KAAK,aAAa,KAAK,eAC3C;AAED,QAAI,6BAA6B,CAAC,0BAA0B,MAC1D,2BAA0B,QAAQ,SAAS;aAGpC,CAAC,0BACR,YAAW,QAAQ,KAAK;KACtB,MAAM;KACN,OAAO,SAAS;KACjB,CAAC;;;;AAOV,KAAI,iBAAiB;EACnB,MAAM,EAAE,SAAS,aAAa,YAAY,uBAAuB,gBAAgB;AACjF,aAAW,QAAQ,KAAK,GAAG,QAAQ;AACnC,aAAW,YAAY,KAAK,GAAG,YAAY;AAC3C,aAAW,QAAQ,KAAK,GAAG,QAAQ;;CAIrC,IAAI,cAAc;AAClB,MAAK,MAAM,KAAK,WAAW,QAEzB,iBAAgB,EAAE,MAAM,UAAU,KAAK,KAAK,EAAE,OAAO,UAAU,KAAK;AAEtE,YAAW,cAAc;AAEzB,QAAO"}
1
+ {"version":3,"file":"operation-to-har.js","names":[],"sources":["../../../../../../src/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.ts"],"sourcesContent":["import { isElectron } from '@scalar/helpers/general/is-electron'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport {\n type SecuritySchemeObjectSecret,\n filterGlobalCookie,\n getDefaultHeaders,\n restoreConventionalDefaultHeaderNames,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'\nimport type { OperationObject, ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport type { Request as HarRequest } from 'har-format'\n\nimport { APP_VERSION } from '@/v2/constants'\n\nimport { processBody } from './process-body'\nimport { processParameters } from './process-parameters'\nimport { processSecuritySchemes } from './process-security-schemes'\nimport { processServerUrl } from './process-server-url'\n\nexport type OperationToHarProps = {\n /** OpenAPI Operation object */\n operation: OperationObject\n /** HTTP method of the operation */\n method: HttpMethod\n /** Path of the operation */\n path: string\n /**\n * Name of the currently selected operation example\n *\n * Applies to both the body and the parameters\n */\n example?: string\n /**\n * Content type of the operation\n *\n * Applies to both the body and the parameters (if applicable)\n * @defaults to the first content type in the MediaTypeObject\n */\n contentType?: string\n /** OpenAPI Server object */\n server?: ServerObject | null\n /** OpenAPI SecurityScheme objects which are applicable to the operation */\n securitySchemes?: SecuritySchemeObjectSecret[]\n /** Workspace + document cookies */\n globalCookies?: XScalarCookie[]\n /**\n * Whether to include default headers (e.g., Accept, Content-Type) automatically.\n * If false, default headers will be omitted from the HAR request.\n * @default true\n */\n includeDefaultHeaders?: boolean\n /**\n * Selected oneOf/anyOf variants for nested request body example generation\n * (e.g. from the schema dropdowns in the API reference).\n */\n requestBodyCompositionSelection?: Record<string, number>\n /**\n * Whether to disable parameters by default.\n * @default false\n */\n defaultDisabledParameters?: boolean\n}\n\n/**\n * Converts an OpenAPI Operation to a HarRequest format for generating HTTP request snippets.\n *\n * This function transforms OpenAPI 3.1 operation objects into HAR (HTTP Archive) format requests,\n * which can be used to generate code snippets for various programming languages and HTTP clients.\n *\n * The conversion handles:\n * - Server URL processing and path parameter substitution\n * - Query parameter formatting based on OpenAPI parameter styles\n * - Request body processing with content type handling\n * - Security scheme integration (API keys, etc.)\n *\n * The resulting HarRequest object follows the HAR specification and includes:\n * - HTTP method and URL\n * - Headers and query parameters\n * - Request body (if present)\n * - Cookie information\n * - Size calculations for headers and body\n *\n * @see https://w3c.github.io/web-performance/specs/HAR/Overview.html\n * @see https://spec.openapis.org/oas/v3.1.0#operation-object\n */\nexport const operationToHar = ({\n includeDefaultHeaders = false,\n operation,\n contentType,\n method,\n path,\n server = null,\n example,\n securitySchemes,\n globalCookies,\n requestBodyCompositionSelection,\n defaultDisabledParameters = false,\n}: OperationToHarProps): HarRequest => {\n const defaultHeaders = includeDefaultHeaders\n ? getDefaultHeaders({\n method,\n operation,\n exampleName: example ?? 'default',\n hideDisabledHeaders: true,\n hideOverriddenHeaders: true,\n options: { isElectron: isElectron(), appVersion: APP_VERSION },\n })\n : {}\n const defaultHeadersWithConventionalNames = restoreConventionalDefaultHeaderNames(defaultHeaders)\n\n const disabledGlobalCookies =\n operation['x-scalar-disable-parameters']?.['global-cookies']?.[example ?? 'default'] ?? {}\n\n const serverUrl = processServerUrl(server, path)\n\n // Initialize the HAR request with basic properties\n const harRequest: HarRequest = {\n method,\n url: serverUrl,\n headers: Object.entries(defaultHeadersWithConventionalNames).map(([name, value]) => ({ name, value })),\n queryString: [],\n postData: undefined,\n httpVersion: 'HTTP/1.1',\n cookies: [],\n headersSize: -1,\n bodySize: -1,\n }\n\n // Handle parameters\n if (operation.parameters) {\n const { url, headers, queryString, cookies } = processParameters({\n harRequest,\n parameters: operation.parameters,\n example,\n defaultDisabled: defaultDisabledParameters,\n })\n\n // Correctly filter the global cookies by the processed url\n const filteredGlobalCookies =\n globalCookies\n ?.filter((cookie) => filterGlobalCookie({ cookie, url, disabledGlobalCookies }))\n ?.map((cookie) => ({ name: cookie.name, value: cookie.value })) ?? []\n\n harRequest.url = url\n harRequest.headers = headers\n harRequest.queryString = queryString\n harRequest.cookies = [...filteredGlobalCookies, ...cookies]\n }\n\n const body = getResolvedRef(operation.requestBody)\n\n // Handle request body\n if (body?.content) {\n const postData = processBody({\n requestBody: body,\n contentType,\n example,\n requestBodyCompositionSelection,\n })\n\n if (postData) {\n harRequest.postData = postData\n harRequest.bodySize = postData.text?.length ?? -1\n\n // Add or update Content-Type header\n if (postData.mimeType) {\n const existingContentTypeHeader = harRequest.headers.find(\n (header) => header.name.toLowerCase() === 'content-type',\n )\n // Update existing header if it has an empty value\n if (existingContentTypeHeader && !existingContentTypeHeader.value) {\n existingContentTypeHeader.value = postData.mimeType\n }\n // Add new header if none exists\n else if (!existingContentTypeHeader) {\n harRequest.headers.push({\n name: 'Content-Type',\n value: postData.mimeType,\n })\n }\n }\n }\n }\n\n // Handle security schemes\n if (securitySchemes) {\n const { headers, queryString, cookies } = processSecuritySchemes(securitySchemes)\n harRequest.headers.push(...headers)\n harRequest.queryString.push(...queryString)\n harRequest.cookies.push(...cookies)\n }\n\n // Calculate headers size without allocating a large joined string\n let headersSize = 0\n for (const h of harRequest.headers) {\n // name + \": \" + value + \"\\r\\n\"\n headersSize += (h.name?.length ?? 0) + 2 + (h.value?.length ?? 0) + 2\n }\n harRequest.headersSize = headersSize\n\n return harRequest\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsFA,IAAa,kBAAkB,EAC7B,wBAAwB,OACxB,WACA,aACA,QACA,MACA,SAAS,MACT,SACA,iBACA,eACA,iCACA,4BAA4B,YACS;CAWrC,MAAM,sCAAsC,sCAVrB,wBACnB,kBAAkB;EAChB;EACA;EACA,aAAa,WAAW;EACxB,qBAAqB;EACrB,uBAAuB;EACvB,SAAS;GAAE,YAAY,YAAY;GAAE,YAAY;GAAa;EAC/D,CAAC,GACF,EAAE,CAC2F;CAEjG,MAAM,wBACJ,UAAU,iCAAiC,oBAAoB,WAAW,cAAc,EAAE;CAK5F,MAAM,aAAyB;EAC7B;EACA,KALgB,iBAAiB,QAAQ,KAAK;EAM9C,SAAS,OAAO,QAAQ,oCAAoC,CAAC,KAAK,CAAC,MAAM,YAAY;GAAE;GAAM;GAAO,EAAE;EACtG,aAAa,EAAE;EACf,UAAU,KAAA;EACV,aAAa;EACb,SAAS,EAAE;EACX,aAAa;EACb,UAAU;EACX;AAGD,KAAI,UAAU,YAAY;EACxB,MAAM,EAAE,KAAK,SAAS,aAAa,YAAY,kBAAkB;GAC/D;GACA,YAAY,UAAU;GACtB;GACA,iBAAiB;GAClB,CAAC;EAGF,MAAM,wBACJ,eACI,QAAQ,WAAW,mBAAmB;GAAE;GAAQ;GAAK;GAAuB,CAAC,CAAC,EAC9E,KAAK,YAAY;GAAE,MAAM,OAAO;GAAM,OAAO,OAAO;GAAO,EAAE,IAAI,EAAE;AAEzE,aAAW,MAAM;AACjB,aAAW,UAAU;AACrB,aAAW,cAAc;AACzB,aAAW,UAAU,CAAC,GAAG,uBAAuB,GAAG,QAAQ;;CAG7D,MAAM,OAAO,eAAe,UAAU,YAAY;AAGlD,KAAI,MAAM,SAAS;EACjB,MAAM,WAAW,YAAY;GAC3B,aAAa;GACb;GACA;GACA;GACD,CAAC;AAEF,MAAI,UAAU;AACZ,cAAW,WAAW;AACtB,cAAW,WAAW,SAAS,MAAM,UAAU;AAG/C,OAAI,SAAS,UAAU;IACrB,MAAM,4BAA4B,WAAW,QAAQ,MAClD,WAAW,OAAO,KAAK,aAAa,KAAK,eAC3C;AAED,QAAI,6BAA6B,CAAC,0BAA0B,MAC1D,2BAA0B,QAAQ,SAAS;aAGpC,CAAC,0BACR,YAAW,QAAQ,KAAK;KACtB,MAAM;KACN,OAAO,SAAS;KACjB,CAAC;;;;AAOV,KAAI,iBAAiB;EACnB,MAAM,EAAE,SAAS,aAAa,YAAY,uBAAuB,gBAAgB;AACjF,aAAW,QAAQ,KAAK,GAAG,QAAQ;AACnC,aAAW,YAAY,KAAK,GAAG,YAAY;AAC3C,aAAW,QAAQ,KAAK,GAAG,QAAQ;;CAIrC,IAAI,cAAc;AAClB,MAAK,MAAM,KAAK,WAAW,QAEzB,iBAAgB,EAAE,MAAM,UAAU,KAAK,KAAK,EAAE,OAAO,UAAU,KAAK;AAEtE,YAAW,cAAc;AAEzB,QAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"process-body.d.ts","sourceRoot":"","sources":["../../../../../../src/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,8DAA8D,CAAA;AAErE,OAAO,KAAK,EAAS,QAAQ,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,KAAK,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,SAAS,GAAG,iCAAiC,CAAC,GAAG;IACjH,WAAW,EAAE,iBAAiB,CAAA;CAC/B,CAAA;AAoED;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,yEAKzB,gBAAgB,KAAG,QAAQ,GAAG,SAuFhC,CAAA"}
1
+ {"version":3,"file":"process-body.d.ts","sourceRoot":"","sources":["../../../../../../src/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,8DAA8D,CAAA;AAErE,OAAO,KAAK,EAAS,QAAQ,EAAE,MAAM,YAAY,CAAA;AAEjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,KAAK,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,SAAS,GAAG,iCAAiC,CAAC,GAAG;IACjH,WAAW,EAAE,iBAAiB,CAAA;CAC/B,CAAA;AAoED;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,yEAKzB,gBAAgB,KAAG,QAAQ,GAAG,SAyFhC,CAAA"}
@@ -58,6 +58,8 @@ var objectToFormParams = (obj, encoding, parentKey) => {
58
58
  */
59
59
  var processBody = ({ requestBody, contentType, example, requestBodyCompositionSelection }) => {
60
60
  const _contentType = contentType || Object.keys(requestBody.content)[0] || "";
61
+ /** Empty when "Other" is selected so snippets do not inject `Content-Type: other`. */
62
+ const harMimeType = _contentType === "other" ? "" : _contentType;
61
63
  const formatBinaryFile = (file) => {
62
64
  return `@${unpackProxyObject(file).name || "filename"}`;
63
65
  };
@@ -68,19 +70,19 @@ var processBody = ({ requestBody, contentType, example, requestBodyCompositionSe
68
70
  if (typeof _example !== "undefined") {
69
71
  const exampleValue = _example !== null && typeof _example === "object" ? unpackProxyObject(_example) : _example;
70
72
  if (isFormData && typeof exampleValue === "object" && exampleValue !== null) return {
71
- mimeType: _contentType,
73
+ mimeType: harMimeType,
72
74
  params: objectToFormParams(exampleValue, _contentType === "multipart/form-data" ? encoding : void 0)
73
75
  };
74
76
  if (isXml && typeof exampleValue === "object" && exampleValue !== null) return {
75
- mimeType: _contentType,
77
+ mimeType: harMimeType,
76
78
  text: json2xml(exampleValue)
77
79
  };
78
80
  if (exampleValue instanceof File) return {
79
- mimeType: _contentType,
81
+ mimeType: harMimeType,
80
82
  text: formatBinaryFile(exampleValue)
81
83
  };
82
84
  return {
83
- mimeType: _contentType,
85
+ mimeType: harMimeType,
84
86
  text: typeof exampleValue === "string" ? exampleValue : JSON.stringify(exampleValue)
85
87
  };
86
88
  }
@@ -93,15 +95,15 @@ var processBody = ({ requestBody, contentType, example, requestBodyCompositionSe
93
95
  }, { schemaPath: ["requestBody"] });
94
96
  if (extractedExample !== void 0) {
95
97
  if (isFormData && typeof extractedExample === "object" && extractedExample !== null) return {
96
- mimeType: _contentType,
98
+ mimeType: harMimeType,
97
99
  params: objectToFormParams(extractedExample, _contentType === "multipart/form-data" ? encoding : void 0)
98
100
  };
99
101
  if (isXml && typeof extractedExample === "object" && extractedExample !== null) return {
100
- mimeType: _contentType,
102
+ mimeType: harMimeType,
101
103
  text: json2xml(extractedExample)
102
104
  };
103
105
  return {
104
- mimeType: _contentType,
106
+ mimeType: harMimeType,
105
107
  text: typeof extractedExample === "string" ? extractedExample : JSON.stringify(extractedExample)
106
108
  };
107
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"process-body.js","names":[],"sources":["../../../../../../src/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.ts"],"sourcesContent":["import { json2xml } from '@scalar/helpers/file/json2xml'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport { getExample, getExampleFromSchema } from '@scalar/workspace-store/request-example'\nimport type {\n MediaTypeObject,\n RequestBodyObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { getResolvedRefDeep } from '@v2/blocks/operation-code-sample/helpers/get-resolved-ref-deep'\nimport type { Param, PostData } from 'har-format'\n\nimport type { OperationToHarProps } from './operation-to-har'\n\ntype ProcessBodyProps = Pick<OperationToHarProps, 'contentType' | 'example' | 'requestBodyCompositionSelection'> & {\n requestBody: RequestBodyObject\n}\n\ntype MultipartEncodingMap = MediaTypeObject['encoding']\n\n/**\n * Converts an object to an array of form parameters\n * @param obj - The object to convert\n * @returns Array of form parameters with name and value properties\n */\nconst objectToFormParams = (\n obj: object | { name: string; value: unknown; isDisabled: boolean }[],\n encoding?: MultipartEncodingMap,\n parentKey?: string,\n): Param[] => {\n const params: Param[] = []\n\n /** Ensure we do not include disabled items */\n const entries = Array.isArray(obj)\n ? obj.filter((item) => !item.isDisabled).map((item) => [item.name, item.value])\n : Object.entries(obj)\n\n for (const [key, value] of entries) {\n if (value === undefined || value === null) {\n continue\n }\n\n const partContentType = parentKey ? undefined : encoding?.[key]?.contentType\n\n // Handle File objects by converting them to 'BINARY'\n if (value instanceof File) {\n const file = unpackProxyObject(value)\n params.push({ name: key, value: `@${file.name}`, ...(partContentType ? { contentType: partContentType } : {}) })\n }\n // Multipart encodings can override the entire top-level part payload\n else if (partContentType && typeof value === 'object') {\n params.push({\n name: key,\n value: JSON.stringify(unpackProxyObject(value)),\n contentType: partContentType,\n })\n }\n // Handle arrays by adding each item with the same key\n else if (Array.isArray(value)) {\n for (const item of value) {\n // Check if array item is a File\n if (item instanceof File) {\n const file = unpackProxyObject(item)\n params.push({ name: key, value: `@${file.name}` })\n } else {\n params.push({ name: key, value: String(item) })\n }\n }\n }\n // Handle nested objects by flattening them\n else if (typeof value === 'object') {\n const nestedParams = objectToFormParams(value, undefined, key)\n\n for (const param of nestedParams) {\n params.push({ name: `${key}.${param.name}`, value: param.value })\n }\n } else {\n params.push({ name: key, value: String(value), ...(partContentType ? { contentType: partContentType } : {}) })\n }\n }\n\n return params\n}\n\n/**\n * Processes the request body and returns the processed data\n * Returns undefined if no example is found\n */\nexport const processBody = ({\n requestBody,\n contentType,\n example,\n requestBodyCompositionSelection,\n}: ProcessBodyProps): PostData | undefined => {\n const _contentType = contentType || Object.keys(requestBody.content)[0] || ''\n const formatBinaryFile = (file: File) => {\n const unwrappedFile = unpackProxyObject(file)\n return `@${unwrappedFile.name || 'filename'}`\n }\n const encoding = requestBody.content[_contentType]?.encoding\n\n // Check if this is a form data content type\n const isFormData = _contentType === 'multipart/form-data' || _contentType === 'application/x-www-form-urlencoded'\n\n // Check if this is an XML content type\n const isXml = _contentType === 'application/xml'\n\n // Get the example value\n const _example = getExample(requestBody, example, contentType)?.value\n\n // Return the provided top level example\n if (typeof _example !== 'undefined') {\n const exampleValue = _example !== null && typeof _example === 'object' ? unpackProxyObject(_example) : _example\n\n if (isFormData && typeof exampleValue === 'object' && exampleValue !== null) {\n return {\n mimeType: _contentType,\n params: objectToFormParams(exampleValue, _contentType === 'multipart/form-data' ? encoding : undefined),\n }\n }\n\n if (isXml && typeof exampleValue === 'object' && exampleValue !== null) {\n return {\n mimeType: _contentType,\n text: json2xml(exampleValue),\n }\n }\n\n if (exampleValue instanceof File) {\n return {\n mimeType: _contentType,\n text: formatBinaryFile(exampleValue),\n }\n }\n\n return {\n mimeType: _contentType,\n text: typeof exampleValue === 'string' ? exampleValue : JSON.stringify(exampleValue),\n }\n }\n\n // Try to extract examples from the schema\n const contentSchema = getResolvedRef(requestBody.content[_contentType]?.schema)\n if (typeof contentSchema !== 'undefined') {\n const resolvedContentSchema = getResolvedRefDeep(contentSchema) as SchemaObject\n const extractedExample = getExampleFromSchema(\n resolvedContentSchema,\n {\n compositionSelection: requestBodyCompositionSelection,\n mode: 'write',\n xml: isXml,\n },\n {\n schemaPath: ['requestBody'],\n },\n )\n\n if (extractedExample !== undefined) {\n if (isFormData && typeof extractedExample === 'object' && extractedExample !== null) {\n return {\n mimeType: _contentType,\n params: objectToFormParams(extractedExample, _contentType === 'multipart/form-data' ? encoding : undefined),\n }\n }\n\n if (isXml && typeof extractedExample === 'object' && extractedExample !== null) {\n return {\n mimeType: _contentType,\n text: json2xml(extractedExample),\n }\n }\n\n return {\n mimeType: _contentType,\n text: typeof extractedExample === 'string' ? extractedExample : JSON.stringify(extractedExample),\n }\n }\n }\n\n return undefined\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"process-body.js","names":[],"sources":["../../../../../../src/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.ts"],"sourcesContent":["import { json2xml } from '@scalar/helpers/file/json2xml'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport { getExample, getExampleFromSchema } from '@scalar/workspace-store/request-example'\nimport type {\n MediaTypeObject,\n RequestBodyObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { getResolvedRefDeep } from '@v2/blocks/operation-code-sample/helpers/get-resolved-ref-deep'\nimport type { Param, PostData } from 'har-format'\n\nimport type { OperationToHarProps } from './operation-to-har'\n\ntype ProcessBodyProps = Pick<OperationToHarProps, 'contentType' | 'example' | 'requestBodyCompositionSelection'> & {\n requestBody: RequestBodyObject\n}\n\ntype MultipartEncodingMap = MediaTypeObject['encoding']\n\n/**\n * Converts an object to an array of form parameters\n * @param obj - The object to convert\n * @returns Array of form parameters with name and value properties\n */\nconst objectToFormParams = (\n obj: object | { name: string; value: unknown; isDisabled: boolean }[],\n encoding?: MultipartEncodingMap,\n parentKey?: string,\n): Param[] => {\n const params: Param[] = []\n\n /** Ensure we do not include disabled items */\n const entries = Array.isArray(obj)\n ? obj.filter((item) => !item.isDisabled).map((item) => [item.name, item.value])\n : Object.entries(obj)\n\n for (const [key, value] of entries) {\n if (value === undefined || value === null) {\n continue\n }\n\n const partContentType = parentKey ? undefined : encoding?.[key]?.contentType\n\n // Handle File objects by converting them to 'BINARY'\n if (value instanceof File) {\n const file = unpackProxyObject(value)\n params.push({ name: key, value: `@${file.name}`, ...(partContentType ? { contentType: partContentType } : {}) })\n }\n // Multipart encodings can override the entire top-level part payload\n else if (partContentType && typeof value === 'object') {\n params.push({\n name: key,\n value: JSON.stringify(unpackProxyObject(value)),\n contentType: partContentType,\n })\n }\n // Handle arrays by adding each item with the same key\n else if (Array.isArray(value)) {\n for (const item of value) {\n // Check if array item is a File\n if (item instanceof File) {\n const file = unpackProxyObject(item)\n params.push({ name: key, value: `@${file.name}` })\n } else {\n params.push({ name: key, value: String(item) })\n }\n }\n }\n // Handle nested objects by flattening them\n else if (typeof value === 'object') {\n const nestedParams = objectToFormParams(value, undefined, key)\n\n for (const param of nestedParams) {\n params.push({ name: `${key}.${param.name}`, value: param.value })\n }\n } else {\n params.push({ name: key, value: String(value), ...(partContentType ? { contentType: partContentType } : {}) })\n }\n }\n\n return params\n}\n\n/**\n * Processes the request body and returns the processed data\n * Returns undefined if no example is found\n */\nexport const processBody = ({\n requestBody,\n contentType,\n example,\n requestBodyCompositionSelection,\n}: ProcessBodyProps): PostData | undefined => {\n const _contentType = contentType || Object.keys(requestBody.content)[0] || ''\n /** Empty when \"Other\" is selected so snippets do not inject `Content-Type: other`. */\n const harMimeType = _contentType === 'other' ? '' : _contentType\n const formatBinaryFile = (file: File) => {\n const unwrappedFile = unpackProxyObject(file)\n return `@${unwrappedFile.name || 'filename'}`\n }\n const encoding = requestBody.content[_contentType]?.encoding\n\n // Check if this is a form data content type\n const isFormData = _contentType === 'multipart/form-data' || _contentType === 'application/x-www-form-urlencoded'\n\n // Check if this is an XML content type\n const isXml = _contentType === 'application/xml'\n\n // Get the example value\n const _example = getExample(requestBody, example, contentType)?.value\n\n // Return the provided top level example\n if (typeof _example !== 'undefined') {\n const exampleValue = _example !== null && typeof _example === 'object' ? unpackProxyObject(_example) : _example\n\n if (isFormData && typeof exampleValue === 'object' && exampleValue !== null) {\n return {\n mimeType: harMimeType,\n params: objectToFormParams(exampleValue, _contentType === 'multipart/form-data' ? encoding : undefined),\n }\n }\n\n if (isXml && typeof exampleValue === 'object' && exampleValue !== null) {\n return {\n mimeType: harMimeType,\n text: json2xml(exampleValue),\n }\n }\n\n if (exampleValue instanceof File) {\n return {\n mimeType: harMimeType,\n text: formatBinaryFile(exampleValue),\n }\n }\n\n return {\n mimeType: harMimeType,\n text: typeof exampleValue === 'string' ? exampleValue : JSON.stringify(exampleValue),\n }\n }\n\n // Try to extract examples from the schema\n const contentSchema = getResolvedRef(requestBody.content[_contentType]?.schema)\n if (typeof contentSchema !== 'undefined') {\n const resolvedContentSchema = getResolvedRefDeep(contentSchema) as SchemaObject\n const extractedExample = getExampleFromSchema(\n resolvedContentSchema,\n {\n compositionSelection: requestBodyCompositionSelection,\n mode: 'write',\n xml: isXml,\n },\n {\n schemaPath: ['requestBody'],\n },\n )\n\n if (extractedExample !== undefined) {\n if (isFormData && typeof extractedExample === 'object' && extractedExample !== null) {\n return {\n mimeType: harMimeType,\n params: objectToFormParams(extractedExample, _contentType === 'multipart/form-data' ? encoding : undefined),\n }\n }\n\n if (isXml && typeof extractedExample === 'object' && extractedExample !== null) {\n return {\n mimeType: harMimeType,\n text: json2xml(extractedExample),\n }\n }\n\n return {\n mimeType: harMimeType,\n text: typeof extractedExample === 'string' ? extractedExample : JSON.stringify(extractedExample),\n }\n }\n }\n\n return undefined\n}\n"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export { default as ExamplePicker } from './components/ExamplePicker.vue.js';
2
+ export { default as HttpMethod } from './components/HttpMethod.vue.js';
2
3
  export { default as OperationCodeSample } from './components/OperationCodeSample.vue.js';
3
4
  export { filterClientsByQuery } from './helpers/filter-clients-by-query.js';
4
5
  export { DEFAULT_CLIENT, findClient, isClient } from './helpers/find-client.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/blocks/operation-code-sample/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/blocks/operation-code-sample/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAA;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA"}
@@ -1,7 +1,8 @@
1
1
  import ExamplePicker_default from "./components/ExamplePicker.vue.js";
2
+ import HttpMethod_default from "./components/HttpMethod.vue.js";
2
3
  import { getResolvedRefDeep } from "./helpers/get-resolved-ref-deep.js";
3
4
  import { filterClientsByQuery } from "./helpers/filter-clients-by-query.js";
4
5
  import { DEFAULT_CLIENT, findClient, isClient } from "./helpers/find-client.js";
5
6
  import { generateClientOptions } from "./helpers/generate-client-options.js";
6
7
  import OperationCodeSample_default from "./components/OperationCodeSample.vue.js";
7
- export { DEFAULT_CLIENT, ExamplePicker_default as ExamplePicker, OperationCodeSample_default as OperationCodeSample, filterClientsByQuery, findClient, generateClientOptions, getResolvedRefDeep, isClient };
8
+ export { DEFAULT_CLIENT, ExamplePicker_default as ExamplePicker, HttpMethod_default as HttpMethod, OperationCodeSample_default as OperationCodeSample, filterClientsByQuery, findClient, generateClientOptions, getResolvedRefDeep, isClient };
@@ -1 +1 @@
1
- {"version":3,"file":"RequestBlock.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/blocks/request-block/RequestBlock.vue"],"names":[],"mappings":"AA8lBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAGnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AAC7E,OAAO,KAAK,EAEV,QAAQ,EACR,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAChC,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qEAAqE,CAAA;AACxG,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACb,MAAM,8DAA8D,CAAA;AAKrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAU1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAA;AACjG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAWrD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,QAAQ,CAAA;IAClB,aAAa,EAAE,iBAAiB,EAAE,CAAA;IAClC,WAAW,EAAE,kBAAkB,CAAA;IAC/B,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,aAAa,EAAE,CAAA;IACjC,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,EAAE,eAAe,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,oBAAoB,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACjD,eAAe,EAAE,qBAAqB,CAAA;IACtC,+BAA+B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxD,cAAc,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,yBAAyB,CAAC,CAAA;IACtE,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,uBAAuB,EAAE,0BAA0B,EAAE,CAAA;IACrD,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,uDAAuD;IACvD,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAA;AAguBD,QAAA,MAAM,YAAY,8SAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"RequestBlock.vue.d.ts","sourceRoot":"","sources":["../../../../src/v2/blocks/request-block/RequestBlock.vue"],"names":[],"mappings":"AA8nBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAGnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAA;AAC7E,OAAO,KAAK,EAEV,QAAQ,EACR,iBAAiB,EAClB,MAAM,gCAAgC,CAAA;AAGvC,OAAO,EAIL,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAChC,MAAM,yCAAyC,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qEAAqE,CAAA;AACxG,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,YAAY,EACb,MAAM,8DAA8D,CAAA;AAKrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAS1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAA;AACjG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAWrD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,QAAQ,CAAA;IAClB,aAAa,EAAE,iBAAiB,EAAE,CAAA;IAClC,WAAW,EAAE,kBAAkB,CAAA;IAC/B,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,gBAAgB,EAAE,aAAa,EAAE,CAAA;IACjC,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,EAAE,UAAU,CAAA;IAClB,SAAS,EAAE,eAAe,CAAA;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,oBAAoB,EAAE,eAAe,CAAC,UAAU,CAAC,CAAA;IACjD,eAAe,EAAE,qBAAqB,CAAA;IACtC,+BAA+B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACxD,cAAc,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC,yBAAyB,CAAC,CAAA;IACtE,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,uBAAuB,EAAE,0BAA0B,EAAE,CAAA;IACrD,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,uDAAuD;IACvD,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAA;AAkwBD,QAAA,MAAM,YAAY,8SAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
2
2
  import RequestBlock_vue_vue_type_script_setup_true_lang_default from "./RequestBlock.vue.script.js";
3
3
  /* empty css */
4
4
  //#region src/v2/blocks/request-block/RequestBlock.vue
5
- var RequestBlock_default = /* @__PURE__ */ _plugin_vue_export_helper_default(RequestBlock_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-482f2275"]]);
5
+ var RequestBlock_default = /* @__PURE__ */ _plugin_vue_export_helper_default(RequestBlock_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-dc6f670a"]]);
6
6
  //#endregion
7
7
  export { RequestBlock_default as default };
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"RequestBlock.vue.js","names":[],"sources":["../../../../src/v2/blocks/request-block/RequestBlock.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarErrorBoundary } from '@scalar/components'\nimport { canMethodHaveBody } from '@scalar/helpers/http/can-method-have-body'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { REGEX } from '@scalar/helpers/regex/regex-helpers'\nimport { replaceEnvVariables } from '@scalar/helpers/regex/replace-variables'\nimport type { ClientPlugin } from '@scalar/oas-utils/helpers'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { SelectedSecurity } from '@scalar/workspace-store/entities/auth'\nimport type {\n ApiReferenceEvents,\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport {\n filterGlobalCookie,\n getEnvironmentVariables,\n getExample,\n getResolvedUrl,\n type MergedSecuritySchemes,\n type SecuritySchemeObjectSecret,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'\nimport type {\n OpenApiDocument,\n OperationObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, useId, watch } from 'vue'\n\nimport SectionFilter from '@/components/SectionFilter.vue'\nimport ViewLayoutSection from '@/components/ViewLayout/ViewLayoutSection.vue'\nimport type { ClientOptionGroup } from '@/v2/blocks/operation-code-sample'\nimport RequestBody from '@/v2/blocks/request-block/components/RequestBody.vue'\nimport RequestCodeSnippet from '@/v2/blocks/request-block/components/RequestCodeSnippet.vue'\nimport RequestParams from '@/v2/blocks/request-block/components/RequestParams.vue'\nimport type { TableRow } from '@/v2/blocks/request-block/components/RequestTableRow.vue'\nimport { createParameterHandlers } from '@/v2/blocks/request-block/helpers/create-parameter-handlers'\nimport { getParameterSchema } from '@/v2/blocks/request-block/helpers/get-parameter-schema'\nimport { groupBy } from '@/v2/blocks/request-block/helpers/group-by'\nimport { isParamDisabled } from '@/v2/blocks/request-block/helpers/is-param-disabled'\nimport { AuthSelector } from '@/v2/blocks/scalar-auth-selector-block'\nimport type { OAuth2Options } from '@/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue'\nimport type { ClientLayout } from '@/v2/types/layout'\n\ntype Filter =\n | 'All'\n | 'Auth'\n | 'Variables'\n | 'Cookies'\n | 'Headers'\n | 'Query'\n | 'Body'\n\nexport type RequestBlockProps = {\n authMeta: AuthMeta\n clientOptions: ClientOptionGroup[]\n environment: XScalarEnvironment\n eventBus: WorkspaceEventBus\n exampleKey: string\n workspaceCookies: XScalarCookie[]\n documentCookies: XScalarCookie[]\n layout: ClientLayout\n method: HttpMethod\n operation: OperationObject\n path: string\n plugins: ClientPlugin[]\n proxyUrl: string\n securityRequirements: OpenApiDocument['security']\n securitySchemes: MergedSecuritySchemes\n requestBodyCompositionSelection?: Record<string, number>\n selectedClient: WorkspaceStore['workspace']['x-scalar-default-client']\n selectedSecurity: SelectedSecurity\n selectedSecuritySchemes: SecuritySchemeObjectSecret[]\n server: ServerObject | null\n defaultHeaders: Record<string, string>\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}\n\nconst {\n authMeta = { type: 'document' },\n clientOptions,\n environment,\n eventBus,\n exampleKey,\n workspaceCookies,\n documentCookies,\n layout,\n method,\n operation,\n path,\n plugins,\n proxyUrl,\n requestBodyCompositionSelection,\n securityRequirements,\n securitySchemes,\n selectedClient,\n selectedSecurity,\n selectedSecuritySchemes,\n server,\n defaultHeaders: autoGeneratedHeaders,\n} = defineProps<RequestBlockProps>()\n\n/** Operation metadata used across event emissions */\nconst meta = computed(() => ({\n method,\n path,\n exampleKey,\n}))\n\n/** Parameters grouped by type (path, query, header, cookie) */\nconst sections = computed(() =>\n groupBy(\n operation.parameters?.map((param) => getResolvedRef(param)) ?? [],\n 'in',\n (param) => {\n const example = getExample(param, exampleKey, undefined)\n\n return {\n name: param.name,\n value: example?.value ?? '',\n description: param.description,\n schema: getParameterSchema(param),\n isRequired: param.required,\n isDisabled: isParamDisabled(param, example),\n originalParameter: param,\n } as TableRow\n },\n ),\n)\n\n// Generate a reverse map for fast lookup of headers by the name\nconst headersMap = computed(() =>\n groupBy(\n sections.value.header?.map((it) => ({\n ...it,\n name: it.name.toLowerCase(),\n })) ?? [],\n 'name',\n ),\n)\n\nconst defaultHeaders = computed(() => {\n const disableParameters =\n operation['x-scalar-disable-parameters']?.['default-headers']?.[\n exampleKey\n ] ?? {}\n\n const isOverridden = (name: string) => {\n const header = headersMap.value[name.toLowerCase()]?.[0]\n\n if (!header) {\n return false\n }\n\n return !header.isDisabled\n }\n\n return Object.entries(autoGeneratedHeaders).map(([name, value]) => {\n return {\n name,\n value,\n schema: undefined,\n isOverridden: isOverridden(name),\n isReadonly: true,\n isDisabled: disableParameters[name.toLowerCase()] ?? false,\n } satisfies TableRow\n })\n})\n\nconst headers = computed(() => [\n ...defaultHeaders.value,\n ...(sections.value.header ?? []),\n])\n\nconst defaultCookies = computed(() => {\n const environmentVariables = getEnvironmentVariables(environment)\n const resolvedUrl = getResolvedUrl({\n server,\n path,\n })\n const url = replaceEnvVariables(resolvedUrl, environmentVariables)\n\n const disabledGlobalCookies =\n operation['x-scalar-disable-parameters']?.['global-cookies']?.[\n exampleKey\n ] ?? {}\n\n const transform = (\n cookie: XScalarCookie,\n location: 'document' | 'workspace',\n ) => {\n return {\n name: cookie.name,\n value: cookie.value,\n globalRoute: { page: location, path: 'cookies' } as const,\n isReadonly: true,\n isDisabled: disabledGlobalCookies[cookie.name.toLowerCase()] ?? false,\n } satisfies TableRow\n }\n\n const globalCookies = [\n {\n location: 'workspace',\n cookies: workspaceCookies,\n },\n {\n location: 'document',\n cookies: documentCookies,\n },\n ] as const\n\n return globalCookies.flatMap(({ location, cookies }) => {\n return cookies\n .filter((cookie) =>\n filterGlobalCookie({\n cookie,\n url,\n disabledGlobalCookies: {},\n }),\n )\n .map((cookie) => transform(cookie, location))\n })\n})\n\nconst cookies = computed(() => [\n ...(defaultCookies.value ?? []),\n ...(sections.value.cookie ?? []),\n])\n\n/** Currently selected filter for the request sections */\nconst selectedFilter = ref<Filter>('All')\n\n/** Available operation sections */\nconst OPERATION_SECTIONS: readonly Filter[] = [\n 'Auth',\n 'Variables',\n 'Cookies',\n 'Headers',\n 'Query',\n 'Body',\n] as const\n\n/**\n * Pre-generated stable IDs for all possible filter sections.\n * These are created once at setup time to avoid regenerating IDs on re-render.\n */\nconst sectionIds: Record<Filter, string> = {\n All: useId(),\n Auth: useId(),\n Variables: useId(),\n Cookies: useId(),\n Headers: useId(),\n Query: useId(),\n Body: useId(),\n}\n\n/** Filters available based on operation state */\nconst filters = computed<Filter[]>(() => {\n const availableFilters = new Set<Filter>(['All', ...OPERATION_SECTIONS])\n\n if (!sections.value.path?.length) {\n availableFilters.delete('Variables')\n }\n if (!canMethodHaveBody(method)) {\n availableFilters.delete('Body')\n }\n if (isAuthHidden.value) {\n availableFilters.delete('Auth')\n }\n\n return [...availableFilters]\n})\n\n/**\n * Map available filters to their pre-generated stable IDs.\n * Only includes IDs for filters that are currently available.\n */\nconst filterIds = computed(\n () =>\n Object.fromEntries(\n filters.value.map((section) => [section, sectionIds[section]]),\n ) as Record<Filter, string>,\n)\n\n/**\n * Hide auth selector in readonly mode when no security schemes are defined.\n * This keeps the UI clean when there are no authentication options available.\n */\nconst isAuthHidden = computed(\n () => layout === 'modal' && !Object.keys(securitySchemes ?? {}).length,\n)\n\n/**\n * Keep auth available for unauthenticated operations, but collapse it by default\n * in readonly modal layouts unless a requirement or manual selection exists.\n */\nconst isAuthDefaultOpen = computed(\n () =>\n layout !== 'modal' ||\n Boolean(\n securityRequirements?.length || selectedSecurity.selectedSchemes.length,\n ),\n)\n\n/** Get a sensible placeholder for the request name input */\nconst requestNamePlaceholder = computed(() => {\n if (operation.summary) {\n return operation.summary\n }\n const cleanPath = path.replace(REGEX.PROTOCOL, '')\n return cleanPath || 'Request Name'\n})\n\n/** Check if the section should be shown based on the selected filter */\nconst isSectionVisible = (section: Filter): boolean => {\n return selectedFilter.value === 'All' || selectedFilter.value === section\n}\n\n/**\n * Reset filter to 'All' if Body filter is selected but method changes to one that cannot have a body.\n * This prevents showing an empty Body section when switching methods.\n */\nwatch(\n () => method,\n (newMethod) => {\n if (selectedFilter.value === 'Body' && !canMethodHaveBody(newMethod)) {\n selectedFilter.value = 'All'\n }\n },\n)\n\n/** Handle operation summary updates */\nconst handleSummaryUpdate = (event: Event): void => {\n const summary = (event.target as HTMLInputElement).value\n eventBus.emit('operation:update:meta', {\n meta: meta.value,\n payload: { summary: summary.trim() },\n })\n}\n\n/** Parameter handlers */\nconst parameterHandlers = computed(() => ({\n path: createParameterHandlers('path', eventBus, meta.value, {\n context: sections.value.path ?? [],\n }),\n cookie: createParameterHandlers('cookie', eventBus, meta.value, {\n context: cookies.value ?? [],\n globalParameters: defaultCookies.value.length,\n }),\n header: createParameterHandlers('header', eventBus, meta.value, {\n context: headers.value,\n defaultParameters: defaultHeaders.value.length,\n }),\n query: createParameterHandlers('query', eventBus, meta.value, {\n context: sections.value.query ?? [],\n }),\n}))\n\n/** Handle request body content type update */\nconst handleUpdateContentType = (payload: { value: string }): void =>\n eventBus.emit('operation:update:requestBody:contentType', {\n payload: { contentType: payload.value },\n meta: meta.value,\n })\n\n/** Handle request body value update */\nconst handleUpdateBodyValue = ({\n payload,\n contentType,\n}: Pick<\n ApiReferenceEvents['operation:update:requestBody:value'],\n 'payload' | 'contentType'\n>): void => {\n const debounceKey =\n typeof payload === 'string'\n ? `update:requestBody:value-${contentType}`\n : undefined\n\n eventBus.emit(\n 'operation:update:requestBody:value',\n {\n payload,\n contentType,\n meta: meta.value,\n },\n {\n debounceKey,\n },\n )\n}\n\n/** Handle request body value update */\nconst handleUpdateBodyFormValue = ({\n payload,\n contentType,\n}: Pick<\n ApiReferenceEvents['operation:update:requestBody:formValue'],\n 'payload' | 'contentType'\n>): void => {\n const debounceKey = `update:requestBody:${contentType}-form-value`\n\n eventBus.emit(\n 'operation:update:requestBody:formValue',\n {\n payload: payload.map((row) => unpackProxyObject(row, { depth: 1 })),\n contentType,\n meta: meta.value,\n },\n {\n debounceKey,\n },\n )\n}\n\nconst labelRequestNameId = useId()\n\nconst globalCookies = computed(() => [...workspaceCookies, ...documentCookies])\n\n/** Allow updating the operation extensions for the plugins */\nconst updateOperationExtension = (\n payload: ApiReferenceEvents['operation:update:extension']['payload'],\n): void =>\n eventBus.emit('operation:update:extension', { payload, meta: meta.value })\n</script>\n<template>\n <ViewLayoutSection :aria-label=\"`Request: ${operation.summary}`\">\n <template #title>\n <div\n class=\"group pointer-events-none flex flex-1 items-center gap-1 lg:pr-24\">\n <label\n v-if=\"layout !== 'modal'\"\n class=\"pointer-events-auto absolute top-0 left-0 h-full w-full cursor-text opacity-0\"\n :for=\"labelRequestNameId\" />\n <input\n v-if=\"layout !== 'modal'\"\n :id=\"labelRequestNameId\"\n class=\"text-c-1 group-hover-input pointer-events-auto relative z-10 -ml-0.5 h-8 w-full rounded pl-1.25 has-[:focus-visible]:outline md:-ml-1.25\"\n :placeholder=\"requestNamePlaceholder\"\n :value=\"operation.summary\"\n @blur=\"handleSummaryUpdate\" />\n <span\n v-else\n class=\"text-c-1 flex h-8 items-center\">\n {{ operation.summary }}\n </span>\n </div>\n <SectionFilter\n v-model=\"selectedFilter\"\n :filterIds=\"filterIds\"\n :filters=\"filters\" />\n </template>\n\n <div\n :id=\"filterIds.All\"\n class=\"request-section-content custom-scroll relative flex flex-1 flex-col\"\n :role=\"selectedFilter === 'All' ? 'tabpanel' : 'none'\">\n <!-- Auth Selector -->\n <AuthSelector\n v-show=\"isSectionVisible('Auth') && !isAuthHidden\"\n :id=\"filterIds.Auth\"\n :createAnySecurityScheme=\"layout !== 'modal'\"\n :defaultOpen=\"isAuthDefaultOpen\"\n :environment\n :eventBus\n :meta=\"authMeta\"\n :options\n :proxyUrl\n :securityRequirements\n :securitySchemes\n :selectedSecurity\n :selectedSecuritySchemes\n :server\n title=\"Authentication\" />\n\n <!-- Variables (Path Parameters) -->\n <RequestParams\n v-show=\"isSectionVisible('Variables') && sections.path?.length\"\n :id=\"filterIds.Variables\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"sections.path ?? []\"\n :showAddRowPlaceholder=\"false\"\n title=\"Variables\"\n v-on=\"parameterHandlers.path\" />\n\n <!-- Cookies -->\n <RequestParams\n v-show=\"isSectionVisible('Cookies')\"\n :id=\"filterIds.Cookies\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"cookies ?? []\"\n :showAddRowPlaceholder=\"true\"\n title=\"Cookies\"\n v-on=\"parameterHandlers.cookie\" />\n\n <!-- Headers -->\n <RequestParams\n v-show=\"isSectionVisible('Headers')\"\n :id=\"filterIds.Headers\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"headers ?? []\"\n title=\"Headers\"\n v-on=\"parameterHandlers.header\" />\n\n <!-- Query Parameters -->\n <RequestParams\n v-show=\"isSectionVisible('Query')\"\n :id=\"filterIds.Query\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"sections.query ?? []\"\n title=\"Query Parameters\"\n v-on=\"parameterHandlers.query\" />\n\n <!-- Request Body -->\n <RequestBody\n v-show=\"isSectionVisible('Body') && canMethodHaveBody(method)\"\n :id=\"filterIds.Body\"\n :environment\n :exampleKey\n :requestBody=\"getResolvedRef(operation.requestBody)\"\n :requestBodyCompositionSelection\n title=\"Request Body\"\n @update:contentType=\"handleUpdateContentType\"\n @update:formValue=\"handleUpdateBodyFormValue\"\n @update:value=\"handleUpdateBodyValue\" />\n\n <!-- Inject request section plugin components -->\n <ScalarErrorBoundary\n v-for=\"(plugin, index) in plugins\"\n :key=\"index\">\n <component\n :is=\"plugin.components.request.component\"\n v-if=\"plugin?.components?.request\"\n v-show=\"selectedFilter === 'All'\"\n :operation\n v-bind=\"plugin.components.request.additionalProps\"\n @operation:update:extension=\"updateOperationExtension\" />\n </ScalarErrorBoundary>\n\n <!-- Spacer -->\n <div class=\"flex grow\" />\n <!-- Code Snippet -->\n <RequestCodeSnippet\n v-show=\"selectedFilter === 'All'\"\n :clientOptions\n :eventBus\n :globalCookies\n integration=\"client\"\n :method\n :operation\n :path\n :securitySchemes=\"selectedSecuritySchemes\"\n :selectedClient\n :selectedContentType=\"\n getResolvedRef(operation.requestBody)?.[\n 'x-scalar-selected-content-type'\n ]?.[exampleKey]\n \"\n :selectedServer=\"server ?? undefined\" />\n </div>\n </ViewLayoutSection>\n</template>\n<style scoped>\n.request-section-content {\n --scalar-border-width: 0.5px;\n}\n.request-section-content-filter {\n box-shadow: 0 -10px 0 10px var(--scalar-background-1);\n}\n.request-item:focus-within .request-meta-buttons {\n opacity: 1;\n}\n.group-hover-input {\n border-width: var(--scalar-border-width);\n border-color: transparent;\n}\n.group:hover .group-hover-input {\n background: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n border-color: var(--scalar-border-color);\n}\n.group-hover-input:focus {\n background: transparent !important;\n border-color: var(--scalar-border-color) !important;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"RequestBlock.vue.js","names":[],"sources":["../../../../src/v2/blocks/request-block/RequestBlock.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarErrorBoundary } from '@scalar/components'\nimport { canMethodHaveBody } from '@scalar/helpers/http/can-method-have-body'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { REGEX } from '@scalar/helpers/regex/regex-helpers'\nimport { replaceEnvVariables } from '@scalar/helpers/regex/replace-variables'\nimport type { ClientPlugin } from '@scalar/oas-utils/helpers'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { SelectedSecurity } from '@scalar/workspace-store/entities/auth'\nimport type {\n ApiReferenceEvents,\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport {\n filterGlobalCookie,\n getEnvironmentVariables,\n getResolvedUrl,\n type MergedSecuritySchemes,\n type SecuritySchemeObjectSecret,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'\nimport type {\n OpenApiDocument,\n OperationObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, useId, watch } from 'vue'\n\nimport SectionFilter from '@/components/SectionFilter.vue'\nimport ViewLayoutSection from '@/components/ViewLayout/ViewLayoutSection.vue'\nimport type { ClientOptionGroup } from '@/v2/blocks/operation-code-sample'\nimport RequestBody from '@/v2/blocks/request-block/components/RequestBody.vue'\nimport RequestCodeSnippet from '@/v2/blocks/request-block/components/RequestCodeSnippet.vue'\nimport RequestParams from '@/v2/blocks/request-block/components/RequestParams.vue'\nimport type { TableRow } from '@/v2/blocks/request-block/components/RequestTableRow.vue'\nimport { createParameterHandlers } from '@/v2/blocks/request-block/helpers/create-parameter-handlers'\nimport { createParameterRows } from '@/v2/blocks/request-block/helpers/create-parameter-rows'\nimport { groupBy } from '@/v2/blocks/request-block/helpers/group-by'\nimport { AuthSelector } from '@/v2/blocks/scalar-auth-selector-block'\nimport type { OAuth2Options } from '@/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue'\nimport type { ClientLayout } from '@/v2/types/layout'\n\ntype Filter =\n | 'All'\n | 'Auth'\n | 'Variables'\n | 'Cookies'\n | 'Headers'\n | 'Query'\n | 'Body'\n\nexport type RequestBlockProps = {\n authMeta: AuthMeta\n clientOptions: ClientOptionGroup[]\n environment: XScalarEnvironment\n eventBus: WorkspaceEventBus\n exampleKey: string\n workspaceCookies: XScalarCookie[]\n documentCookies: XScalarCookie[]\n layout: ClientLayout\n method: HttpMethod\n operation: OperationObject\n path: string\n plugins: ClientPlugin[]\n proxyUrl: string\n securityRequirements: OpenApiDocument['security']\n securitySchemes: MergedSecuritySchemes\n requestBodyCompositionSelection?: Record<string, number>\n selectedClient: WorkspaceStore['workspace']['x-scalar-default-client']\n selectedSecurity: SelectedSecurity\n selectedSecuritySchemes: SecuritySchemeObjectSecret[]\n server: ServerObject | null\n defaultHeaders: Record<string, string>\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}\n\nconst {\n authMeta = { type: 'document' },\n clientOptions,\n environment,\n eventBus,\n exampleKey,\n workspaceCookies,\n documentCookies,\n layout,\n method,\n operation,\n path,\n plugins,\n proxyUrl,\n requestBodyCompositionSelection,\n securityRequirements,\n securitySchemes,\n selectedClient,\n selectedSecurity,\n selectedSecuritySchemes,\n server,\n defaultHeaders: autoGeneratedHeaders,\n} = defineProps<RequestBlockProps>()\n\n/** Operation metadata used across event emissions */\nconst meta = computed(() => ({\n method,\n path,\n exampleKey,\n}))\n\nconst deletedExpandedParameterPaths = ref<Record<string, string[][]>>({})\n\nconst getExpandedParameterKey = (parameter: {\n in: string\n name: string\n}): string => `${parameter.in}:${parameter.name}`\n\nconst getHiddenValuePaths = (parameter: {\n in: string\n name: string\n}): string[][] =>\n deletedExpandedParameterPaths.value[getExpandedParameterKey(parameter)] ?? []\n\n/** Parameters grouped by type (path, query, header, cookie) */\nconst sections = computed(() =>\n groupBy(\n operation.parameters\n ?.map((param) => getResolvedRef(param))\n .flatMap((param) =>\n createParameterRows(param, exampleKey, {\n hiddenValuePaths:\n param.in === 'query' ? getHiddenValuePaths(param) : [],\n }).map((row) => ({\n ...row,\n in: param.in,\n })),\n ) ?? [],\n 'in',\n ({ in: _in, ...row }) => {\n return row as TableRow\n },\n ),\n)\n\n// Generate a reverse map for fast lookup of headers by the name\nconst headersMap = computed(() =>\n groupBy(\n sections.value.header?.map((it) => ({\n ...it,\n name: it.name.toLowerCase(),\n })) ?? [],\n 'name',\n ),\n)\n\nconst defaultHeaders = computed(() => {\n const disableParameters =\n operation['x-scalar-disable-parameters']?.['default-headers']?.[\n exampleKey\n ] ?? {}\n\n const isOverridden = (name: string) => {\n const header = headersMap.value[name.toLowerCase()]?.[0]\n\n if (!header) {\n return false\n }\n\n return !header.isDisabled\n }\n\n return Object.entries(autoGeneratedHeaders).map(([name, value]) => {\n return {\n name,\n value,\n schema: undefined,\n isOverridden: isOverridden(name),\n isReadonly: true,\n isDisabled: disableParameters[name.toLowerCase()] ?? false,\n } satisfies TableRow\n })\n})\n\nconst headers = computed(() => [\n ...defaultHeaders.value,\n ...(sections.value.header ?? []),\n])\n\nconst defaultCookies = computed(() => {\n const environmentVariables = getEnvironmentVariables(environment)\n const resolvedUrl = getResolvedUrl({\n server,\n path,\n })\n const url = replaceEnvVariables(resolvedUrl, environmentVariables)\n\n const disabledGlobalCookies =\n operation['x-scalar-disable-parameters']?.['global-cookies']?.[\n exampleKey\n ] ?? {}\n\n const transform = (\n cookie: XScalarCookie,\n location: 'document' | 'workspace',\n ) => {\n return {\n name: cookie.name,\n value: cookie.value,\n globalRoute: { page: location, path: 'cookies' } as const,\n isReadonly: true,\n isDisabled: disabledGlobalCookies[cookie.name.toLowerCase()] ?? false,\n } satisfies TableRow\n }\n\n const globalCookies = [\n {\n location: 'workspace',\n cookies: workspaceCookies,\n },\n {\n location: 'document',\n cookies: documentCookies,\n },\n ] as const\n\n return globalCookies.flatMap(({ location, cookies }) => {\n return cookies\n .filter((cookie) =>\n filterGlobalCookie({\n cookie,\n url,\n disabledGlobalCookies: {},\n }),\n )\n .map((cookie) => transform(cookie, location))\n })\n})\n\nconst cookies = computed(() => [\n ...(defaultCookies.value ?? []),\n ...(sections.value.cookie ?? []),\n])\n\n/** Currently selected filter for the request sections */\nconst selectedFilter = ref<Filter>('All')\n\n/** Available operation sections */\nconst OPERATION_SECTIONS: readonly Filter[] = [\n 'Auth',\n 'Variables',\n 'Cookies',\n 'Headers',\n 'Query',\n 'Body',\n] as const\n\n/**\n * Pre-generated stable IDs for all possible filter sections.\n * These are created once at setup time to avoid regenerating IDs on re-render.\n */\nconst sectionIds: Record<Filter, string> = {\n All: useId(),\n Auth: useId(),\n Variables: useId(),\n Cookies: useId(),\n Headers: useId(),\n Query: useId(),\n Body: useId(),\n}\n\n/** Filters available based on operation state */\nconst filters = computed<Filter[]>(() => {\n const availableFilters = new Set<Filter>(['All', ...OPERATION_SECTIONS])\n\n if (!sections.value.path?.length) {\n availableFilters.delete('Variables')\n }\n if (!canMethodHaveBody(method)) {\n availableFilters.delete('Body')\n }\n if (isAuthHidden.value) {\n availableFilters.delete('Auth')\n }\n\n return [...availableFilters]\n})\n\n/**\n * Map available filters to their pre-generated stable IDs.\n * Only includes IDs for filters that are currently available.\n */\nconst filterIds = computed(\n () =>\n Object.fromEntries(\n filters.value.map((section) => [section, sectionIds[section]]),\n ) as Record<Filter, string>,\n)\n\n/**\n * Hide auth selector in readonly mode when no security schemes are defined.\n * This keeps the UI clean when there are no authentication options available.\n */\nconst isAuthHidden = computed(\n () => layout === 'modal' && !Object.keys(securitySchemes ?? {}).length,\n)\n\n/**\n * Keep auth available for unauthenticated operations, but collapse it by default\n * in readonly modal layouts unless a requirement or manual selection exists.\n */\nconst isAuthDefaultOpen = computed(\n () =>\n layout !== 'modal' ||\n Boolean(\n securityRequirements?.length || selectedSecurity.selectedSchemes.length,\n ),\n)\n\n/** Get a sensible placeholder for the request name input */\nconst requestNamePlaceholder = computed(() => {\n if (operation.summary) {\n return operation.summary\n }\n const cleanPath = path.replace(REGEX.PROTOCOL, '')\n return cleanPath || 'Request Name'\n})\n\n/** Check if the section should be shown based on the selected filter */\nconst isSectionVisible = (section: Filter): boolean => {\n return selectedFilter.value === 'All' || selectedFilter.value === section\n}\n\n/**\n * Reset filter to 'All' if Body filter is selected but method changes to one that cannot have a body.\n * This prevents showing an empty Body section when switching methods.\n */\nwatch(\n () => method,\n (newMethod) => {\n if (selectedFilter.value === 'Body' && !canMethodHaveBody(newMethod)) {\n selectedFilter.value = 'All'\n }\n },\n)\n\nwatch(\n () => [method, path, exampleKey],\n () => {\n deletedExpandedParameterPaths.value = {}\n },\n)\n\n/** Handle operation summary updates */\nconst handleSummaryUpdate = (event: Event): void => {\n const summary = (event.target as HTMLInputElement).value\n eventBus.emit('operation:update:meta', {\n meta: meta.value,\n payload: { summary: summary.trim() },\n })\n}\n\n/** Parameter handlers */\nconst parameterHandlers = computed(() => ({\n path: createParameterHandlers('path', eventBus, meta.value, {\n context: sections.value.path ?? [],\n }),\n cookie: createParameterHandlers('cookie', eventBus, meta.value, {\n context: cookies.value ?? [],\n globalParameters: defaultCookies.value.length,\n }),\n header: createParameterHandlers('header', eventBus, meta.value, {\n context: headers.value,\n defaultParameters: defaultHeaders.value.length,\n }),\n query: createParameterHandlers('query', eventBus, meta.value, {\n context: sections.value.query ?? [],\n onDeleteExpandedRow: (row) => {\n if (!row.originalParameter || !row.sourceParameterValuePath) {\n return\n }\n\n const key = getExpandedParameterKey(row.originalParameter)\n deletedExpandedParameterPaths.value = {\n ...deletedExpandedParameterPaths.value,\n [key]: [\n ...(deletedExpandedParameterPaths.value[key] ?? []),\n row.sourceParameterValuePath,\n ],\n }\n },\n }),\n}))\n\n/** Handle request body content type update */\nconst handleUpdateContentType = (payload: { value: string }): void =>\n eventBus.emit('operation:update:requestBody:contentType', {\n payload: { contentType: payload.value },\n meta: meta.value,\n })\n\n/** Handle request body value update */\nconst handleUpdateBodyValue = ({\n payload,\n contentType,\n}: Pick<\n ApiReferenceEvents['operation:update:requestBody:value'],\n 'payload' | 'contentType'\n>): void => {\n const debounceKey =\n typeof payload === 'string'\n ? `update:requestBody:value-${contentType}`\n : undefined\n\n eventBus.emit(\n 'operation:update:requestBody:value',\n {\n payload,\n contentType,\n meta: meta.value,\n },\n {\n debounceKey,\n },\n )\n}\n\n/** Handle request body value update */\nconst handleUpdateBodyFormValue = ({\n payload,\n contentType,\n}: Pick<\n ApiReferenceEvents['operation:update:requestBody:formValue'],\n 'payload' | 'contentType'\n>): void => {\n const debounceKey = `update:requestBody:${contentType}-form-value`\n\n eventBus.emit(\n 'operation:update:requestBody:formValue',\n {\n payload: payload.map((row) => unpackProxyObject(row, { depth: 1 })),\n contentType,\n meta: meta.value,\n },\n {\n debounceKey,\n },\n )\n}\n\nconst labelRequestNameId = useId()\n\nconst globalCookies = computed(() => [...workspaceCookies, ...documentCookies])\n\n/** Allow updating the operation extensions for the plugins */\nconst updateOperationExtension = (\n payload: ApiReferenceEvents['operation:update:extension']['payload'],\n): void =>\n eventBus.emit('operation:update:extension', { payload, meta: meta.value })\n</script>\n<template>\n <ViewLayoutSection :aria-label=\"`Request: ${operation.summary}`\">\n <template #title>\n <div\n class=\"group pointer-events-none flex flex-1 items-center gap-1 lg:pr-24\">\n <label\n v-if=\"layout !== 'modal'\"\n class=\"pointer-events-auto absolute top-0 left-0 h-full w-full cursor-text opacity-0\"\n :for=\"labelRequestNameId\" />\n <input\n v-if=\"layout !== 'modal'\"\n :id=\"labelRequestNameId\"\n class=\"text-c-1 group-hover-input pointer-events-auto relative z-10 -ml-0.5 h-8 w-full rounded pl-1.25 has-[:focus-visible]:outline md:-ml-1.25\"\n :placeholder=\"requestNamePlaceholder\"\n :value=\"operation.summary\"\n @blur=\"handleSummaryUpdate\" />\n <span\n v-else\n class=\"text-c-1 flex h-8 items-center\">\n {{ operation.summary }}\n </span>\n </div>\n <SectionFilter\n v-model=\"selectedFilter\"\n :filterIds=\"filterIds\"\n :filters=\"filters\" />\n </template>\n\n <div\n :id=\"filterIds.All\"\n class=\"request-section-content custom-scroll relative flex flex-1 flex-col\"\n :role=\"selectedFilter === 'All' ? 'tabpanel' : 'none'\">\n <!-- Auth Selector -->\n <AuthSelector\n v-show=\"isSectionVisible('Auth') && !isAuthHidden\"\n :id=\"filterIds.Auth\"\n :createAnySecurityScheme=\"layout !== 'modal'\"\n :defaultOpen=\"isAuthDefaultOpen\"\n :environment\n :eventBus\n :meta=\"authMeta\"\n :options\n :proxyUrl\n :securityRequirements\n :securitySchemes\n :selectedSecurity\n :selectedSecuritySchemes\n :server\n title=\"Authentication\" />\n\n <!-- Variables (Path Parameters) -->\n <RequestParams\n v-show=\"isSectionVisible('Variables') && sections.path?.length\"\n :id=\"filterIds.Variables\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"sections.path ?? []\"\n :showAddRowPlaceholder=\"false\"\n title=\"Variables\"\n v-on=\"parameterHandlers.path\" />\n\n <!-- Cookies -->\n <RequestParams\n v-show=\"isSectionVisible('Cookies')\"\n :id=\"filterIds.Cookies\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"cookies ?? []\"\n :showAddRowPlaceholder=\"true\"\n title=\"Cookies\"\n v-on=\"parameterHandlers.cookie\" />\n\n <!-- Headers -->\n <RequestParams\n v-show=\"isSectionVisible('Headers')\"\n :id=\"filterIds.Headers\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"headers ?? []\"\n title=\"Headers\"\n v-on=\"parameterHandlers.header\" />\n\n <!-- Query Parameters -->\n <RequestParams\n v-show=\"isSectionVisible('Query')\"\n :id=\"filterIds.Query\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"sections.query ?? []\"\n title=\"Query Parameters\"\n v-on=\"parameterHandlers.query\" />\n\n <!-- Request Body -->\n <RequestBody\n v-show=\"isSectionVisible('Body') && canMethodHaveBody(method)\"\n :id=\"filterIds.Body\"\n :environment\n :exampleKey\n :requestBody=\"getResolvedRef(operation.requestBody)\"\n :requestBodyCompositionSelection\n title=\"Request Body\"\n @update:contentType=\"handleUpdateContentType\"\n @update:formValue=\"handleUpdateBodyFormValue\"\n @update:value=\"handleUpdateBodyValue\" />\n\n <!-- Inject request section plugin components -->\n <ScalarErrorBoundary\n v-for=\"(plugin, index) in plugins\"\n :key=\"index\">\n <component\n :is=\"plugin.components.request.component\"\n v-if=\"plugin?.components?.request\"\n v-show=\"selectedFilter === 'All'\"\n :operation\n v-bind=\"plugin.components.request.additionalProps\"\n @operation:update:extension=\"updateOperationExtension\" />\n </ScalarErrorBoundary>\n\n <!-- Spacer -->\n <div class=\"flex grow\" />\n <!-- Code Snippet -->\n <RequestCodeSnippet\n v-show=\"selectedFilter === 'All'\"\n :clientOptions\n :eventBus\n :globalCookies\n integration=\"client\"\n :method\n :operation\n :path\n :securitySchemes=\"selectedSecuritySchemes\"\n :selectedClient\n :selectedContentType=\"\n getResolvedRef(operation.requestBody)?.[\n 'x-scalar-selected-content-type'\n ]?.[exampleKey]\n \"\n :selectedServer=\"server ?? undefined\" />\n </div>\n </ViewLayoutSection>\n</template>\n<style scoped>\n.request-section-content {\n --scalar-border-width: 0.5px;\n}\n.request-section-content-filter {\n box-shadow: 0 -10px 0 10px var(--scalar-background-1);\n}\n.request-item:focus-within .request-meta-buttons {\n opacity: 1;\n}\n.group-hover-input {\n border-width: var(--scalar-border-width);\n border-color: transparent;\n}\n.group:hover .group-hover-input {\n background: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n border-color: var(--scalar-border-color);\n}\n.group-hover-input:focus {\n background: transparent !important;\n border-color: var(--scalar-border-color) !important;\n}\n</style>\n"],"mappings":""}
@@ -1,21 +1,20 @@
1
- import { isParamDisabled } from "./helpers/is-param-disabled.js";
2
- import SectionFilter_default from "../../../components/SectionFilter.vue.js";
3
1
  import ViewLayoutSection_default from "../../../components/ViewLayout/ViewLayoutSection.vue.js";
2
+ import SectionFilter_default from "../../../components/SectionFilter.vue.js";
4
3
  import RequestBody_default from "./components/RequestBody.vue.js";
5
4
  import RequestCodeSnippet_default from "./components/RequestCodeSnippet.vue.js";
6
5
  import RequestParams_default from "./components/RequestParams.vue.js";
7
6
  import { createParameterHandlers } from "./helpers/create-parameter-handlers.js";
8
- import { getParameterSchema } from "./helpers/get-parameter-schema.js";
7
+ import { createParameterRows } from "./helpers/create-parameter-rows.js";
9
8
  import { groupBy } from "./helpers/group-by.js";
10
9
  import AuthSelector_default from "../scalar-auth-selector-block/components/AuthSelector.vue.js";
11
10
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, openBlock, ref, renderList, resolveDynamicComponent, toDisplayString, toHandlers, unref, useId, vShow, watch, withCtx, withDirectives } from "vue";
12
11
  import { ScalarErrorBoundary } from "@scalar/components";
12
+ import { filterGlobalCookie, getEnvironmentVariables, getResolvedUrl } from "@scalar/workspace-store/request-example";
13
+ import { REGEX } from "@scalar/helpers/regex/regex-helpers";
13
14
  import { canMethodHaveBody } from "@scalar/helpers/http/can-method-have-body";
14
- import { filterGlobalCookie, getEnvironmentVariables, getExample, getResolvedUrl } from "@scalar/workspace-store/request-example";
15
15
  import { getResolvedRef } from "@scalar/workspace-store/helpers/get-resolved-ref";
16
16
  import { unpackProxyObject } from "@scalar/workspace-store/helpers/unpack-proxy";
17
17
  import { replaceEnvVariables } from "@scalar/helpers/regex/replace-variables";
18
- import { REGEX } from "@scalar/helpers/regex/regex-helpers";
19
18
  //#region src/v2/blocks/request-block/RequestBlock.vue?vue&type=script&setup=true&lang.ts
20
19
  var _hoisted_1 = { class: "group pointer-events-none flex flex-1 items-center gap-1 lg:pr-24" };
21
20
  var _hoisted_2 = ["for"];
@@ -62,18 +61,15 @@ var RequestBlock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
62
61
  path: __props.path,
63
62
  exampleKey: __props.exampleKey
64
63
  }));
64
+ const deletedExpandedParameterPaths = ref({});
65
+ const getExpandedParameterKey = (parameter) => `${parameter.in}:${parameter.name}`;
66
+ const getHiddenValuePaths = (parameter) => deletedExpandedParameterPaths.value[getExpandedParameterKey(parameter)] ?? [];
65
67
  /** Parameters grouped by type (path, query, header, cookie) */
66
- const sections = computed(() => groupBy(__props.operation.parameters?.map((param) => getResolvedRef(param)) ?? [], "in", (param) => {
67
- const example = getExample(param, __props.exampleKey, void 0);
68
- return {
69
- name: param.name,
70
- value: example?.value ?? "",
71
- description: param.description,
72
- schema: getParameterSchema(param),
73
- isRequired: param.required,
74
- isDisabled: isParamDisabled(param, example),
75
- originalParameter: param
76
- };
68
+ const sections = computed(() => groupBy(__props.operation.parameters?.map((param) => getResolvedRef(param)).flatMap((param) => createParameterRows(param, __props.exampleKey, { hiddenValuePaths: param.in === "query" ? getHiddenValuePaths(param) : [] }).map((row) => ({
69
+ ...row,
70
+ in: param.in
71
+ }))) ?? [], "in", ({ in: _in, ...row }) => {
72
+ return row;
77
73
  }));
78
74
  const headersMap = computed(() => groupBy(sections.value.header?.map((it) => ({
79
75
  ...it,
@@ -195,6 +191,13 @@ var RequestBlock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
195
191
  watch(() => __props.method, (newMethod) => {
196
192
  if (selectedFilter.value === "Body" && !canMethodHaveBody(newMethod)) selectedFilter.value = "All";
197
193
  });
194
+ watch(() => [
195
+ __props.method,
196
+ __props.path,
197
+ __props.exampleKey
198
+ ], () => {
199
+ deletedExpandedParameterPaths.value = {};
200
+ });
198
201
  /** Handle operation summary updates */
199
202
  const handleSummaryUpdate = (event) => {
200
203
  const summary = event.target.value;
@@ -214,7 +217,17 @@ var RequestBlock_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ d
214
217
  context: headers.value,
215
218
  defaultParameters: defaultHeaders.value.length
216
219
  }),
217
- query: createParameterHandlers("query", __props.eventBus, meta.value, { context: sections.value.query ?? [] })
220
+ query: createParameterHandlers("query", __props.eventBus, meta.value, {
221
+ context: sections.value.query ?? [],
222
+ onDeleteExpandedRow: (row) => {
223
+ if (!row.originalParameter || !row.sourceParameterValuePath) return;
224
+ const key = getExpandedParameterKey(row.originalParameter);
225
+ deletedExpandedParameterPaths.value = {
226
+ ...deletedExpandedParameterPaths.value,
227
+ [key]: [...deletedExpandedParameterPaths.value[key] ?? [], row.sourceParameterValuePath]
228
+ };
229
+ }
230
+ })
218
231
  }));
219
232
  /** Handle request body content type update */
220
233
  const handleUpdateContentType = (payload) => __props.eventBus.emit("operation:update:requestBody:contentType", {
@@ -1 +1 @@
1
- {"version":3,"file":"RequestBlock.vue.script.js","names":[],"sources":["../../../../src/v2/blocks/request-block/RequestBlock.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarErrorBoundary } from '@scalar/components'\nimport { canMethodHaveBody } from '@scalar/helpers/http/can-method-have-body'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { REGEX } from '@scalar/helpers/regex/regex-helpers'\nimport { replaceEnvVariables } from '@scalar/helpers/regex/replace-variables'\nimport type { ClientPlugin } from '@scalar/oas-utils/helpers'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { SelectedSecurity } from '@scalar/workspace-store/entities/auth'\nimport type {\n ApiReferenceEvents,\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport {\n filterGlobalCookie,\n getEnvironmentVariables,\n getExample,\n getResolvedUrl,\n type MergedSecuritySchemes,\n type SecuritySchemeObjectSecret,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'\nimport type {\n OpenApiDocument,\n OperationObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, useId, watch } from 'vue'\n\nimport SectionFilter from '@/components/SectionFilter.vue'\nimport ViewLayoutSection from '@/components/ViewLayout/ViewLayoutSection.vue'\nimport type { ClientOptionGroup } from '@/v2/blocks/operation-code-sample'\nimport RequestBody from '@/v2/blocks/request-block/components/RequestBody.vue'\nimport RequestCodeSnippet from '@/v2/blocks/request-block/components/RequestCodeSnippet.vue'\nimport RequestParams from '@/v2/blocks/request-block/components/RequestParams.vue'\nimport type { TableRow } from '@/v2/blocks/request-block/components/RequestTableRow.vue'\nimport { createParameterHandlers } from '@/v2/blocks/request-block/helpers/create-parameter-handlers'\nimport { getParameterSchema } from '@/v2/blocks/request-block/helpers/get-parameter-schema'\nimport { groupBy } from '@/v2/blocks/request-block/helpers/group-by'\nimport { isParamDisabled } from '@/v2/blocks/request-block/helpers/is-param-disabled'\nimport { AuthSelector } from '@/v2/blocks/scalar-auth-selector-block'\nimport type { OAuth2Options } from '@/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue'\nimport type { ClientLayout } from '@/v2/types/layout'\n\ntype Filter =\n | 'All'\n | 'Auth'\n | 'Variables'\n | 'Cookies'\n | 'Headers'\n | 'Query'\n | 'Body'\n\nexport type RequestBlockProps = {\n authMeta: AuthMeta\n clientOptions: ClientOptionGroup[]\n environment: XScalarEnvironment\n eventBus: WorkspaceEventBus\n exampleKey: string\n workspaceCookies: XScalarCookie[]\n documentCookies: XScalarCookie[]\n layout: ClientLayout\n method: HttpMethod\n operation: OperationObject\n path: string\n plugins: ClientPlugin[]\n proxyUrl: string\n securityRequirements: OpenApiDocument['security']\n securitySchemes: MergedSecuritySchemes\n requestBodyCompositionSelection?: Record<string, number>\n selectedClient: WorkspaceStore['workspace']['x-scalar-default-client']\n selectedSecurity: SelectedSecurity\n selectedSecuritySchemes: SecuritySchemeObjectSecret[]\n server: ServerObject | null\n defaultHeaders: Record<string, string>\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}\n\nconst {\n authMeta = { type: 'document' },\n clientOptions,\n environment,\n eventBus,\n exampleKey,\n workspaceCookies,\n documentCookies,\n layout,\n method,\n operation,\n path,\n plugins,\n proxyUrl,\n requestBodyCompositionSelection,\n securityRequirements,\n securitySchemes,\n selectedClient,\n selectedSecurity,\n selectedSecuritySchemes,\n server,\n defaultHeaders: autoGeneratedHeaders,\n} = defineProps<RequestBlockProps>()\n\n/** Operation metadata used across event emissions */\nconst meta = computed(() => ({\n method,\n path,\n exampleKey,\n}))\n\n/** Parameters grouped by type (path, query, header, cookie) */\nconst sections = computed(() =>\n groupBy(\n operation.parameters?.map((param) => getResolvedRef(param)) ?? [],\n 'in',\n (param) => {\n const example = getExample(param, exampleKey, undefined)\n\n return {\n name: param.name,\n value: example?.value ?? '',\n description: param.description,\n schema: getParameterSchema(param),\n isRequired: param.required,\n isDisabled: isParamDisabled(param, example),\n originalParameter: param,\n } as TableRow\n },\n ),\n)\n\n// Generate a reverse map for fast lookup of headers by the name\nconst headersMap = computed(() =>\n groupBy(\n sections.value.header?.map((it) => ({\n ...it,\n name: it.name.toLowerCase(),\n })) ?? [],\n 'name',\n ),\n)\n\nconst defaultHeaders = computed(() => {\n const disableParameters =\n operation['x-scalar-disable-parameters']?.['default-headers']?.[\n exampleKey\n ] ?? {}\n\n const isOverridden = (name: string) => {\n const header = headersMap.value[name.toLowerCase()]?.[0]\n\n if (!header) {\n return false\n }\n\n return !header.isDisabled\n }\n\n return Object.entries(autoGeneratedHeaders).map(([name, value]) => {\n return {\n name,\n value,\n schema: undefined,\n isOverridden: isOverridden(name),\n isReadonly: true,\n isDisabled: disableParameters[name.toLowerCase()] ?? false,\n } satisfies TableRow\n })\n})\n\nconst headers = computed(() => [\n ...defaultHeaders.value,\n ...(sections.value.header ?? []),\n])\n\nconst defaultCookies = computed(() => {\n const environmentVariables = getEnvironmentVariables(environment)\n const resolvedUrl = getResolvedUrl({\n server,\n path,\n })\n const url = replaceEnvVariables(resolvedUrl, environmentVariables)\n\n const disabledGlobalCookies =\n operation['x-scalar-disable-parameters']?.['global-cookies']?.[\n exampleKey\n ] ?? {}\n\n const transform = (\n cookie: XScalarCookie,\n location: 'document' | 'workspace',\n ) => {\n return {\n name: cookie.name,\n value: cookie.value,\n globalRoute: { page: location, path: 'cookies' } as const,\n isReadonly: true,\n isDisabled: disabledGlobalCookies[cookie.name.toLowerCase()] ?? false,\n } satisfies TableRow\n }\n\n const globalCookies = [\n {\n location: 'workspace',\n cookies: workspaceCookies,\n },\n {\n location: 'document',\n cookies: documentCookies,\n },\n ] as const\n\n return globalCookies.flatMap(({ location, cookies }) => {\n return cookies\n .filter((cookie) =>\n filterGlobalCookie({\n cookie,\n url,\n disabledGlobalCookies: {},\n }),\n )\n .map((cookie) => transform(cookie, location))\n })\n})\n\nconst cookies = computed(() => [\n ...(defaultCookies.value ?? []),\n ...(sections.value.cookie ?? []),\n])\n\n/** Currently selected filter for the request sections */\nconst selectedFilter = ref<Filter>('All')\n\n/** Available operation sections */\nconst OPERATION_SECTIONS: readonly Filter[] = [\n 'Auth',\n 'Variables',\n 'Cookies',\n 'Headers',\n 'Query',\n 'Body',\n] as const\n\n/**\n * Pre-generated stable IDs for all possible filter sections.\n * These are created once at setup time to avoid regenerating IDs on re-render.\n */\nconst sectionIds: Record<Filter, string> = {\n All: useId(),\n Auth: useId(),\n Variables: useId(),\n Cookies: useId(),\n Headers: useId(),\n Query: useId(),\n Body: useId(),\n}\n\n/** Filters available based on operation state */\nconst filters = computed<Filter[]>(() => {\n const availableFilters = new Set<Filter>(['All', ...OPERATION_SECTIONS])\n\n if (!sections.value.path?.length) {\n availableFilters.delete('Variables')\n }\n if (!canMethodHaveBody(method)) {\n availableFilters.delete('Body')\n }\n if (isAuthHidden.value) {\n availableFilters.delete('Auth')\n }\n\n return [...availableFilters]\n})\n\n/**\n * Map available filters to their pre-generated stable IDs.\n * Only includes IDs for filters that are currently available.\n */\nconst filterIds = computed(\n () =>\n Object.fromEntries(\n filters.value.map((section) => [section, sectionIds[section]]),\n ) as Record<Filter, string>,\n)\n\n/**\n * Hide auth selector in readonly mode when no security schemes are defined.\n * This keeps the UI clean when there are no authentication options available.\n */\nconst isAuthHidden = computed(\n () => layout === 'modal' && !Object.keys(securitySchemes ?? {}).length,\n)\n\n/**\n * Keep auth available for unauthenticated operations, but collapse it by default\n * in readonly modal layouts unless a requirement or manual selection exists.\n */\nconst isAuthDefaultOpen = computed(\n () =>\n layout !== 'modal' ||\n Boolean(\n securityRequirements?.length || selectedSecurity.selectedSchemes.length,\n ),\n)\n\n/** Get a sensible placeholder for the request name input */\nconst requestNamePlaceholder = computed(() => {\n if (operation.summary) {\n return operation.summary\n }\n const cleanPath = path.replace(REGEX.PROTOCOL, '')\n return cleanPath || 'Request Name'\n})\n\n/** Check if the section should be shown based on the selected filter */\nconst isSectionVisible = (section: Filter): boolean => {\n return selectedFilter.value === 'All' || selectedFilter.value === section\n}\n\n/**\n * Reset filter to 'All' if Body filter is selected but method changes to one that cannot have a body.\n * This prevents showing an empty Body section when switching methods.\n */\nwatch(\n () => method,\n (newMethod) => {\n if (selectedFilter.value === 'Body' && !canMethodHaveBody(newMethod)) {\n selectedFilter.value = 'All'\n }\n },\n)\n\n/** Handle operation summary updates */\nconst handleSummaryUpdate = (event: Event): void => {\n const summary = (event.target as HTMLInputElement).value\n eventBus.emit('operation:update:meta', {\n meta: meta.value,\n payload: { summary: summary.trim() },\n })\n}\n\n/** Parameter handlers */\nconst parameterHandlers = computed(() => ({\n path: createParameterHandlers('path', eventBus, meta.value, {\n context: sections.value.path ?? [],\n }),\n cookie: createParameterHandlers('cookie', eventBus, meta.value, {\n context: cookies.value ?? [],\n globalParameters: defaultCookies.value.length,\n }),\n header: createParameterHandlers('header', eventBus, meta.value, {\n context: headers.value,\n defaultParameters: defaultHeaders.value.length,\n }),\n query: createParameterHandlers('query', eventBus, meta.value, {\n context: sections.value.query ?? [],\n }),\n}))\n\n/** Handle request body content type update */\nconst handleUpdateContentType = (payload: { value: string }): void =>\n eventBus.emit('operation:update:requestBody:contentType', {\n payload: { contentType: payload.value },\n meta: meta.value,\n })\n\n/** Handle request body value update */\nconst handleUpdateBodyValue = ({\n payload,\n contentType,\n}: Pick<\n ApiReferenceEvents['operation:update:requestBody:value'],\n 'payload' | 'contentType'\n>): void => {\n const debounceKey =\n typeof payload === 'string'\n ? `update:requestBody:value-${contentType}`\n : undefined\n\n eventBus.emit(\n 'operation:update:requestBody:value',\n {\n payload,\n contentType,\n meta: meta.value,\n },\n {\n debounceKey,\n },\n )\n}\n\n/** Handle request body value update */\nconst handleUpdateBodyFormValue = ({\n payload,\n contentType,\n}: Pick<\n ApiReferenceEvents['operation:update:requestBody:formValue'],\n 'payload' | 'contentType'\n>): void => {\n const debounceKey = `update:requestBody:${contentType}-form-value`\n\n eventBus.emit(\n 'operation:update:requestBody:formValue',\n {\n payload: payload.map((row) => unpackProxyObject(row, { depth: 1 })),\n contentType,\n meta: meta.value,\n },\n {\n debounceKey,\n },\n )\n}\n\nconst labelRequestNameId = useId()\n\nconst globalCookies = computed(() => [...workspaceCookies, ...documentCookies])\n\n/** Allow updating the operation extensions for the plugins */\nconst updateOperationExtension = (\n payload: ApiReferenceEvents['operation:update:extension']['payload'],\n): void =>\n eventBus.emit('operation:update:extension', { payload, meta: meta.value })\n</script>\n<template>\n <ViewLayoutSection :aria-label=\"`Request: ${operation.summary}`\">\n <template #title>\n <div\n class=\"group pointer-events-none flex flex-1 items-center gap-1 lg:pr-24\">\n <label\n v-if=\"layout !== 'modal'\"\n class=\"pointer-events-auto absolute top-0 left-0 h-full w-full cursor-text opacity-0\"\n :for=\"labelRequestNameId\" />\n <input\n v-if=\"layout !== 'modal'\"\n :id=\"labelRequestNameId\"\n class=\"text-c-1 group-hover-input pointer-events-auto relative z-10 -ml-0.5 h-8 w-full rounded pl-1.25 has-[:focus-visible]:outline md:-ml-1.25\"\n :placeholder=\"requestNamePlaceholder\"\n :value=\"operation.summary\"\n @blur=\"handleSummaryUpdate\" />\n <span\n v-else\n class=\"text-c-1 flex h-8 items-center\">\n {{ operation.summary }}\n </span>\n </div>\n <SectionFilter\n v-model=\"selectedFilter\"\n :filterIds=\"filterIds\"\n :filters=\"filters\" />\n </template>\n\n <div\n :id=\"filterIds.All\"\n class=\"request-section-content custom-scroll relative flex flex-1 flex-col\"\n :role=\"selectedFilter === 'All' ? 'tabpanel' : 'none'\">\n <!-- Auth Selector -->\n <AuthSelector\n v-show=\"isSectionVisible('Auth') && !isAuthHidden\"\n :id=\"filterIds.Auth\"\n :createAnySecurityScheme=\"layout !== 'modal'\"\n :defaultOpen=\"isAuthDefaultOpen\"\n :environment\n :eventBus\n :meta=\"authMeta\"\n :options\n :proxyUrl\n :securityRequirements\n :securitySchemes\n :selectedSecurity\n :selectedSecuritySchemes\n :server\n title=\"Authentication\" />\n\n <!-- Variables (Path Parameters) -->\n <RequestParams\n v-show=\"isSectionVisible('Variables') && sections.path?.length\"\n :id=\"filterIds.Variables\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"sections.path ?? []\"\n :showAddRowPlaceholder=\"false\"\n title=\"Variables\"\n v-on=\"parameterHandlers.path\" />\n\n <!-- Cookies -->\n <RequestParams\n v-show=\"isSectionVisible('Cookies')\"\n :id=\"filterIds.Cookies\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"cookies ?? []\"\n :showAddRowPlaceholder=\"true\"\n title=\"Cookies\"\n v-on=\"parameterHandlers.cookie\" />\n\n <!-- Headers -->\n <RequestParams\n v-show=\"isSectionVisible('Headers')\"\n :id=\"filterIds.Headers\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"headers ?? []\"\n title=\"Headers\"\n v-on=\"parameterHandlers.header\" />\n\n <!-- Query Parameters -->\n <RequestParams\n v-show=\"isSectionVisible('Query')\"\n :id=\"filterIds.Query\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"sections.query ?? []\"\n title=\"Query Parameters\"\n v-on=\"parameterHandlers.query\" />\n\n <!-- Request Body -->\n <RequestBody\n v-show=\"isSectionVisible('Body') && canMethodHaveBody(method)\"\n :id=\"filterIds.Body\"\n :environment\n :exampleKey\n :requestBody=\"getResolvedRef(operation.requestBody)\"\n :requestBodyCompositionSelection\n title=\"Request Body\"\n @update:contentType=\"handleUpdateContentType\"\n @update:formValue=\"handleUpdateBodyFormValue\"\n @update:value=\"handleUpdateBodyValue\" />\n\n <!-- Inject request section plugin components -->\n <ScalarErrorBoundary\n v-for=\"(plugin, index) in plugins\"\n :key=\"index\">\n <component\n :is=\"plugin.components.request.component\"\n v-if=\"plugin?.components?.request\"\n v-show=\"selectedFilter === 'All'\"\n :operation\n v-bind=\"plugin.components.request.additionalProps\"\n @operation:update:extension=\"updateOperationExtension\" />\n </ScalarErrorBoundary>\n\n <!-- Spacer -->\n <div class=\"flex grow\" />\n <!-- Code Snippet -->\n <RequestCodeSnippet\n v-show=\"selectedFilter === 'All'\"\n :clientOptions\n :eventBus\n :globalCookies\n integration=\"client\"\n :method\n :operation\n :path\n :securitySchemes=\"selectedSecuritySchemes\"\n :selectedClient\n :selectedContentType=\"\n getResolvedRef(operation.requestBody)?.[\n 'x-scalar-selected-content-type'\n ]?.[exampleKey]\n \"\n :selectedServer=\"server ?? undefined\" />\n </div>\n </ViewLayoutSection>\n</template>\n<style scoped>\n.request-section-content {\n --scalar-border-width: 0.5px;\n}\n.request-section-content-filter {\n box-shadow: 0 -10px 0 10px var(--scalar-background-1);\n}\n.request-item:focus-within .request-meta-buttons {\n opacity: 1;\n}\n.group-hover-input {\n border-width: var(--scalar-border-width);\n border-color: transparent;\n}\n.group:hover .group-hover-input {\n background: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n border-color: var(--scalar-border-color);\n}\n.group-hover-input:focus {\n background: transparent !important;\n border-color: var(--scalar-border-color) !important;\n}\n</style>\n"],"mappings":"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"}
1
+ {"version":3,"file":"RequestBlock.vue.script.js","names":[],"sources":["../../../../src/v2/blocks/request-block/RequestBlock.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarErrorBoundary } from '@scalar/components'\nimport { canMethodHaveBody } from '@scalar/helpers/http/can-method-have-body'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { REGEX } from '@scalar/helpers/regex/regex-helpers'\nimport { replaceEnvVariables } from '@scalar/helpers/regex/replace-variables'\nimport type { ClientPlugin } from '@scalar/oas-utils/helpers'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { SelectedSecurity } from '@scalar/workspace-store/entities/auth'\nimport type {\n ApiReferenceEvents,\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport {\n filterGlobalCookie,\n getEnvironmentVariables,\n getResolvedUrl,\n type MergedSecuritySchemes,\n type SecuritySchemeObjectSecret,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'\nimport type {\n OpenApiDocument,\n OperationObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, useId, watch } from 'vue'\n\nimport SectionFilter from '@/components/SectionFilter.vue'\nimport ViewLayoutSection from '@/components/ViewLayout/ViewLayoutSection.vue'\nimport type { ClientOptionGroup } from '@/v2/blocks/operation-code-sample'\nimport RequestBody from '@/v2/blocks/request-block/components/RequestBody.vue'\nimport RequestCodeSnippet from '@/v2/blocks/request-block/components/RequestCodeSnippet.vue'\nimport RequestParams from '@/v2/blocks/request-block/components/RequestParams.vue'\nimport type { TableRow } from '@/v2/blocks/request-block/components/RequestTableRow.vue'\nimport { createParameterHandlers } from '@/v2/blocks/request-block/helpers/create-parameter-handlers'\nimport { createParameterRows } from '@/v2/blocks/request-block/helpers/create-parameter-rows'\nimport { groupBy } from '@/v2/blocks/request-block/helpers/group-by'\nimport { AuthSelector } from '@/v2/blocks/scalar-auth-selector-block'\nimport type { OAuth2Options } from '@/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue'\nimport type { ClientLayout } from '@/v2/types/layout'\n\ntype Filter =\n | 'All'\n | 'Auth'\n | 'Variables'\n | 'Cookies'\n | 'Headers'\n | 'Query'\n | 'Body'\n\nexport type RequestBlockProps = {\n authMeta: AuthMeta\n clientOptions: ClientOptionGroup[]\n environment: XScalarEnvironment\n eventBus: WorkspaceEventBus\n exampleKey: string\n workspaceCookies: XScalarCookie[]\n documentCookies: XScalarCookie[]\n layout: ClientLayout\n method: HttpMethod\n operation: OperationObject\n path: string\n plugins: ClientPlugin[]\n proxyUrl: string\n securityRequirements: OpenApiDocument['security']\n securitySchemes: MergedSecuritySchemes\n requestBodyCompositionSelection?: Record<string, number>\n selectedClient: WorkspaceStore['workspace']['x-scalar-default-client']\n selectedSecurity: SelectedSecurity\n selectedSecuritySchemes: SecuritySchemeObjectSecret[]\n server: ServerObject | null\n defaultHeaders: Record<string, string>\n /** Any config options required for the OAuth2 flow */\n options?: OAuth2Options\n}\n\nconst {\n authMeta = { type: 'document' },\n clientOptions,\n environment,\n eventBus,\n exampleKey,\n workspaceCookies,\n documentCookies,\n layout,\n method,\n operation,\n path,\n plugins,\n proxyUrl,\n requestBodyCompositionSelection,\n securityRequirements,\n securitySchemes,\n selectedClient,\n selectedSecurity,\n selectedSecuritySchemes,\n server,\n defaultHeaders: autoGeneratedHeaders,\n} = defineProps<RequestBlockProps>()\n\n/** Operation metadata used across event emissions */\nconst meta = computed(() => ({\n method,\n path,\n exampleKey,\n}))\n\nconst deletedExpandedParameterPaths = ref<Record<string, string[][]>>({})\n\nconst getExpandedParameterKey = (parameter: {\n in: string\n name: string\n}): string => `${parameter.in}:${parameter.name}`\n\nconst getHiddenValuePaths = (parameter: {\n in: string\n name: string\n}): string[][] =>\n deletedExpandedParameterPaths.value[getExpandedParameterKey(parameter)] ?? []\n\n/** Parameters grouped by type (path, query, header, cookie) */\nconst sections = computed(() =>\n groupBy(\n operation.parameters\n ?.map((param) => getResolvedRef(param))\n .flatMap((param) =>\n createParameterRows(param, exampleKey, {\n hiddenValuePaths:\n param.in === 'query' ? getHiddenValuePaths(param) : [],\n }).map((row) => ({\n ...row,\n in: param.in,\n })),\n ) ?? [],\n 'in',\n ({ in: _in, ...row }) => {\n return row as TableRow\n },\n ),\n)\n\n// Generate a reverse map for fast lookup of headers by the name\nconst headersMap = computed(() =>\n groupBy(\n sections.value.header?.map((it) => ({\n ...it,\n name: it.name.toLowerCase(),\n })) ?? [],\n 'name',\n ),\n)\n\nconst defaultHeaders = computed(() => {\n const disableParameters =\n operation['x-scalar-disable-parameters']?.['default-headers']?.[\n exampleKey\n ] ?? {}\n\n const isOverridden = (name: string) => {\n const header = headersMap.value[name.toLowerCase()]?.[0]\n\n if (!header) {\n return false\n }\n\n return !header.isDisabled\n }\n\n return Object.entries(autoGeneratedHeaders).map(([name, value]) => {\n return {\n name,\n value,\n schema: undefined,\n isOverridden: isOverridden(name),\n isReadonly: true,\n isDisabled: disableParameters[name.toLowerCase()] ?? false,\n } satisfies TableRow\n })\n})\n\nconst headers = computed(() => [\n ...defaultHeaders.value,\n ...(sections.value.header ?? []),\n])\n\nconst defaultCookies = computed(() => {\n const environmentVariables = getEnvironmentVariables(environment)\n const resolvedUrl = getResolvedUrl({\n server,\n path,\n })\n const url = replaceEnvVariables(resolvedUrl, environmentVariables)\n\n const disabledGlobalCookies =\n operation['x-scalar-disable-parameters']?.['global-cookies']?.[\n exampleKey\n ] ?? {}\n\n const transform = (\n cookie: XScalarCookie,\n location: 'document' | 'workspace',\n ) => {\n return {\n name: cookie.name,\n value: cookie.value,\n globalRoute: { page: location, path: 'cookies' } as const,\n isReadonly: true,\n isDisabled: disabledGlobalCookies[cookie.name.toLowerCase()] ?? false,\n } satisfies TableRow\n }\n\n const globalCookies = [\n {\n location: 'workspace',\n cookies: workspaceCookies,\n },\n {\n location: 'document',\n cookies: documentCookies,\n },\n ] as const\n\n return globalCookies.flatMap(({ location, cookies }) => {\n return cookies\n .filter((cookie) =>\n filterGlobalCookie({\n cookie,\n url,\n disabledGlobalCookies: {},\n }),\n )\n .map((cookie) => transform(cookie, location))\n })\n})\n\nconst cookies = computed(() => [\n ...(defaultCookies.value ?? []),\n ...(sections.value.cookie ?? []),\n])\n\n/** Currently selected filter for the request sections */\nconst selectedFilter = ref<Filter>('All')\n\n/** Available operation sections */\nconst OPERATION_SECTIONS: readonly Filter[] = [\n 'Auth',\n 'Variables',\n 'Cookies',\n 'Headers',\n 'Query',\n 'Body',\n] as const\n\n/**\n * Pre-generated stable IDs for all possible filter sections.\n * These are created once at setup time to avoid regenerating IDs on re-render.\n */\nconst sectionIds: Record<Filter, string> = {\n All: useId(),\n Auth: useId(),\n Variables: useId(),\n Cookies: useId(),\n Headers: useId(),\n Query: useId(),\n Body: useId(),\n}\n\n/** Filters available based on operation state */\nconst filters = computed<Filter[]>(() => {\n const availableFilters = new Set<Filter>(['All', ...OPERATION_SECTIONS])\n\n if (!sections.value.path?.length) {\n availableFilters.delete('Variables')\n }\n if (!canMethodHaveBody(method)) {\n availableFilters.delete('Body')\n }\n if (isAuthHidden.value) {\n availableFilters.delete('Auth')\n }\n\n return [...availableFilters]\n})\n\n/**\n * Map available filters to their pre-generated stable IDs.\n * Only includes IDs for filters that are currently available.\n */\nconst filterIds = computed(\n () =>\n Object.fromEntries(\n filters.value.map((section) => [section, sectionIds[section]]),\n ) as Record<Filter, string>,\n)\n\n/**\n * Hide auth selector in readonly mode when no security schemes are defined.\n * This keeps the UI clean when there are no authentication options available.\n */\nconst isAuthHidden = computed(\n () => layout === 'modal' && !Object.keys(securitySchemes ?? {}).length,\n)\n\n/**\n * Keep auth available for unauthenticated operations, but collapse it by default\n * in readonly modal layouts unless a requirement or manual selection exists.\n */\nconst isAuthDefaultOpen = computed(\n () =>\n layout !== 'modal' ||\n Boolean(\n securityRequirements?.length || selectedSecurity.selectedSchemes.length,\n ),\n)\n\n/** Get a sensible placeholder for the request name input */\nconst requestNamePlaceholder = computed(() => {\n if (operation.summary) {\n return operation.summary\n }\n const cleanPath = path.replace(REGEX.PROTOCOL, '')\n return cleanPath || 'Request Name'\n})\n\n/** Check if the section should be shown based on the selected filter */\nconst isSectionVisible = (section: Filter): boolean => {\n return selectedFilter.value === 'All' || selectedFilter.value === section\n}\n\n/**\n * Reset filter to 'All' if Body filter is selected but method changes to one that cannot have a body.\n * This prevents showing an empty Body section when switching methods.\n */\nwatch(\n () => method,\n (newMethod) => {\n if (selectedFilter.value === 'Body' && !canMethodHaveBody(newMethod)) {\n selectedFilter.value = 'All'\n }\n },\n)\n\nwatch(\n () => [method, path, exampleKey],\n () => {\n deletedExpandedParameterPaths.value = {}\n },\n)\n\n/** Handle operation summary updates */\nconst handleSummaryUpdate = (event: Event): void => {\n const summary = (event.target as HTMLInputElement).value\n eventBus.emit('operation:update:meta', {\n meta: meta.value,\n payload: { summary: summary.trim() },\n })\n}\n\n/** Parameter handlers */\nconst parameterHandlers = computed(() => ({\n path: createParameterHandlers('path', eventBus, meta.value, {\n context: sections.value.path ?? [],\n }),\n cookie: createParameterHandlers('cookie', eventBus, meta.value, {\n context: cookies.value ?? [],\n globalParameters: defaultCookies.value.length,\n }),\n header: createParameterHandlers('header', eventBus, meta.value, {\n context: headers.value,\n defaultParameters: defaultHeaders.value.length,\n }),\n query: createParameterHandlers('query', eventBus, meta.value, {\n context: sections.value.query ?? [],\n onDeleteExpandedRow: (row) => {\n if (!row.originalParameter || !row.sourceParameterValuePath) {\n return\n }\n\n const key = getExpandedParameterKey(row.originalParameter)\n deletedExpandedParameterPaths.value = {\n ...deletedExpandedParameterPaths.value,\n [key]: [\n ...(deletedExpandedParameterPaths.value[key] ?? []),\n row.sourceParameterValuePath,\n ],\n }\n },\n }),\n}))\n\n/** Handle request body content type update */\nconst handleUpdateContentType = (payload: { value: string }): void =>\n eventBus.emit('operation:update:requestBody:contentType', {\n payload: { contentType: payload.value },\n meta: meta.value,\n })\n\n/** Handle request body value update */\nconst handleUpdateBodyValue = ({\n payload,\n contentType,\n}: Pick<\n ApiReferenceEvents['operation:update:requestBody:value'],\n 'payload' | 'contentType'\n>): void => {\n const debounceKey =\n typeof payload === 'string'\n ? `update:requestBody:value-${contentType}`\n : undefined\n\n eventBus.emit(\n 'operation:update:requestBody:value',\n {\n payload,\n contentType,\n meta: meta.value,\n },\n {\n debounceKey,\n },\n )\n}\n\n/** Handle request body value update */\nconst handleUpdateBodyFormValue = ({\n payload,\n contentType,\n}: Pick<\n ApiReferenceEvents['operation:update:requestBody:formValue'],\n 'payload' | 'contentType'\n>): void => {\n const debounceKey = `update:requestBody:${contentType}-form-value`\n\n eventBus.emit(\n 'operation:update:requestBody:formValue',\n {\n payload: payload.map((row) => unpackProxyObject(row, { depth: 1 })),\n contentType,\n meta: meta.value,\n },\n {\n debounceKey,\n },\n )\n}\n\nconst labelRequestNameId = useId()\n\nconst globalCookies = computed(() => [...workspaceCookies, ...documentCookies])\n\n/** Allow updating the operation extensions for the plugins */\nconst updateOperationExtension = (\n payload: ApiReferenceEvents['operation:update:extension']['payload'],\n): void =>\n eventBus.emit('operation:update:extension', { payload, meta: meta.value })\n</script>\n<template>\n <ViewLayoutSection :aria-label=\"`Request: ${operation.summary}`\">\n <template #title>\n <div\n class=\"group pointer-events-none flex flex-1 items-center gap-1 lg:pr-24\">\n <label\n v-if=\"layout !== 'modal'\"\n class=\"pointer-events-auto absolute top-0 left-0 h-full w-full cursor-text opacity-0\"\n :for=\"labelRequestNameId\" />\n <input\n v-if=\"layout !== 'modal'\"\n :id=\"labelRequestNameId\"\n class=\"text-c-1 group-hover-input pointer-events-auto relative z-10 -ml-0.5 h-8 w-full rounded pl-1.25 has-[:focus-visible]:outline md:-ml-1.25\"\n :placeholder=\"requestNamePlaceholder\"\n :value=\"operation.summary\"\n @blur=\"handleSummaryUpdate\" />\n <span\n v-else\n class=\"text-c-1 flex h-8 items-center\">\n {{ operation.summary }}\n </span>\n </div>\n <SectionFilter\n v-model=\"selectedFilter\"\n :filterIds=\"filterIds\"\n :filters=\"filters\" />\n </template>\n\n <div\n :id=\"filterIds.All\"\n class=\"request-section-content custom-scroll relative flex flex-1 flex-col\"\n :role=\"selectedFilter === 'All' ? 'tabpanel' : 'none'\">\n <!-- Auth Selector -->\n <AuthSelector\n v-show=\"isSectionVisible('Auth') && !isAuthHidden\"\n :id=\"filterIds.Auth\"\n :createAnySecurityScheme=\"layout !== 'modal'\"\n :defaultOpen=\"isAuthDefaultOpen\"\n :environment\n :eventBus\n :meta=\"authMeta\"\n :options\n :proxyUrl\n :securityRequirements\n :securitySchemes\n :selectedSecurity\n :selectedSecuritySchemes\n :server\n title=\"Authentication\" />\n\n <!-- Variables (Path Parameters) -->\n <RequestParams\n v-show=\"isSectionVisible('Variables') && sections.path?.length\"\n :id=\"filterIds.Variables\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"sections.path ?? []\"\n :showAddRowPlaceholder=\"false\"\n title=\"Variables\"\n v-on=\"parameterHandlers.path\" />\n\n <!-- Cookies -->\n <RequestParams\n v-show=\"isSectionVisible('Cookies')\"\n :id=\"filterIds.Cookies\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"cookies ?? []\"\n :showAddRowPlaceholder=\"true\"\n title=\"Cookies\"\n v-on=\"parameterHandlers.cookie\" />\n\n <!-- Headers -->\n <RequestParams\n v-show=\"isSectionVisible('Headers')\"\n :id=\"filterIds.Headers\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"headers ?? []\"\n title=\"Headers\"\n v-on=\"parameterHandlers.header\" />\n\n <!-- Query Parameters -->\n <RequestParams\n v-show=\"isSectionVisible('Query')\"\n :id=\"filterIds.Query\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"sections.query ?? []\"\n title=\"Query Parameters\"\n v-on=\"parameterHandlers.query\" />\n\n <!-- Request Body -->\n <RequestBody\n v-show=\"isSectionVisible('Body') && canMethodHaveBody(method)\"\n :id=\"filterIds.Body\"\n :environment\n :exampleKey\n :requestBody=\"getResolvedRef(operation.requestBody)\"\n :requestBodyCompositionSelection\n title=\"Request Body\"\n @update:contentType=\"handleUpdateContentType\"\n @update:formValue=\"handleUpdateBodyFormValue\"\n @update:value=\"handleUpdateBodyValue\" />\n\n <!-- Inject request section plugin components -->\n <ScalarErrorBoundary\n v-for=\"(plugin, index) in plugins\"\n :key=\"index\">\n <component\n :is=\"plugin.components.request.component\"\n v-if=\"plugin?.components?.request\"\n v-show=\"selectedFilter === 'All'\"\n :operation\n v-bind=\"plugin.components.request.additionalProps\"\n @operation:update:extension=\"updateOperationExtension\" />\n </ScalarErrorBoundary>\n\n <!-- Spacer -->\n <div class=\"flex grow\" />\n <!-- Code Snippet -->\n <RequestCodeSnippet\n v-show=\"selectedFilter === 'All'\"\n :clientOptions\n :eventBus\n :globalCookies\n integration=\"client\"\n :method\n :operation\n :path\n :securitySchemes=\"selectedSecuritySchemes\"\n :selectedClient\n :selectedContentType=\"\n getResolvedRef(operation.requestBody)?.[\n 'x-scalar-selected-content-type'\n ]?.[exampleKey]\n \"\n :selectedServer=\"server ?? undefined\" />\n </div>\n </ViewLayoutSection>\n</template>\n<style scoped>\n.request-section-content {\n --scalar-border-width: 0.5px;\n}\n.request-section-content-filter {\n box-shadow: 0 -10px 0 10px var(--scalar-background-1);\n}\n.request-item:focus-within .request-meta-buttons {\n opacity: 1;\n}\n.group-hover-input {\n border-width: var(--scalar-border-width);\n border-color: transparent;\n}\n.group:hover .group-hover-input {\n background: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n border-color: var(--scalar-border-color);\n}\n.group-hover-input:focus {\n background: transparent !important;\n border-color: var(--scalar-border-color) !important;\n}\n</style>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RequestBody.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/request-block/components/RequestBody.vue"],"names":[],"mappings":"AAySA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,8DAA8D,CAAA;AAcrE,KAAK,WAAW,GAAG;IACjB,mBAAmB;IACnB,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,2BAA2B;IAC3B,WAAW,EAAE,kBAAkB,CAAA;IAC/B,sEAAsE;IACtE,+BAA+B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzD,CAAC;AAmgBF,QAAA,MAAM,YAAY;;;;;;;;;;;eAxf4B,MAAM;;;;;;;;;;;;;;;;;;eAAN,MAAM;;;;;;;kFA2flD,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"RequestBody.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/request-block/components/RequestBody.vue"],"names":[],"mappings":"AAgVA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,8DAA8D,CAAA;AAcrE,KAAK,WAAW,GAAG;IACjB,mBAAmB;IACnB,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,+DAA+D;IAC/D,UAAU,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,2BAA2B;IAC3B,WAAW,EAAE,kBAAkB,CAAA;IAC/B,sEAAsE;IACtE,+BAA+B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACzD,CAAC;AAuiBF,QAAA,MAAM,YAAY;;;;;;;;;;;eA5hB4B,MAAM;;;;;;;;;;;;;;;;;;eAAN,MAAM;;;;;;;kFA+hBlD,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -2,7 +2,7 @@ import _plugin_vue_export_helper_default from "../../../../_virtual/_plugin-vue_
2
2
  import RequestBody_vue_vue_type_script_setup_true_lang_default from "./RequestBody.vue.script.js";
3
3
  /* empty css */
4
4
  //#region src/v2/blocks/request-block/components/RequestBody.vue
5
- var RequestBody_default = /* @__PURE__ */ _plugin_vue_export_helper_default(RequestBody_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-06778e40"]]);
5
+ var RequestBody_default = /* @__PURE__ */ _plugin_vue_export_helper_default(RequestBody_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0362e671"]]);
6
6
  //#endregion
7
7
  export { RequestBody_default as default };
8
8