@scalar/api-client 3.6.1 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (905) hide show
  1. package/CHANGELOG.md +150 -0
  2. package/dist/components/HttpMethod/HttpMethod.vue.js +1 -1
  3. package/dist/components/HttpMethod/index.js +2 -0
  4. package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.d.ts.map +1 -0
  5. package/dist/components/{ScalarAsciiArt.vue.js → ScalarAsciiArt/ScalarAsciiArt.vue.js} +3 -3
  6. package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.js.map +1 -0
  7. package/dist/components/{ScalarAsciiArt.vue.script.js → ScalarAsciiArt/ScalarAsciiArt.vue.script.js} +1 -1
  8. package/dist/components/ScalarAsciiArt/ScalarAsciiArt.vue.script.js.map +1 -0
  9. package/dist/components/ScalarAsciiArt/index.d.ts +2 -0
  10. package/dist/components/ScalarAsciiArt/index.d.ts.map +1 -0
  11. package/dist/components/ScalarAsciiArt/index.js +2 -0
  12. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.d.ts +2 -2
  13. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.d.ts +2 -2
  14. package/dist/components/Sidebar/index.d.ts +2 -0
  15. package/dist/components/Sidebar/index.d.ts.map +1 -0
  16. package/dist/components/Sidebar/index.js +2 -0
  17. package/dist/components/ViewLayout/index.d.ts +4 -0
  18. package/dist/components/ViewLayout/index.d.ts.map +1 -0
  19. package/dist/components/ViewLayout/index.js +4 -0
  20. package/dist/plugins/posthog/index.d.ts.map +1 -1
  21. package/dist/plugins/posthog/index.js +21 -12
  22. package/dist/plugins/posthog/index.js.map +1 -1
  23. package/dist/plugins/posthog/sanitize-event-payload.d.ts +25 -0
  24. package/dist/plugins/posthog/sanitize-event-payload.d.ts.map +1 -0
  25. package/dist/plugins/posthog/sanitize-event-payload.js +136 -0
  26. package/dist/plugins/posthog/sanitize-event-payload.js.map +1 -0
  27. package/dist/style.css +214 -1651
  28. package/dist/types/index.d.ts +3 -0
  29. package/dist/types/index.d.ts.map +1 -0
  30. package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts.map +1 -1
  31. package/dist/v2/blocks/operation-block/OperationBlock.vue.js.map +1 -1
  32. package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js +72 -32
  33. package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js.map +1 -1
  34. package/dist/v2/blocks/operation-block/components/Header.vue.d.ts +2 -2
  35. package/dist/v2/blocks/operation-block/components/Header.vue.d.ts.map +1 -1
  36. package/dist/v2/blocks/operation-block/components/Header.vue.js +1 -1
  37. package/dist/v2/blocks/operation-block/components/Header.vue.js.map +1 -1
  38. package/dist/v2/blocks/operation-block/components/Header.vue.script.js +3 -3
  39. package/dist/v2/blocks/operation-block/components/Header.vue.script.js.map +1 -1
  40. package/dist/v2/blocks/operation-block/components/OpenApiClientButton.vue.js +1 -1
  41. package/dist/v2/blocks/operation-block/index.d.ts +1 -0
  42. package/dist/v2/blocks/operation-block/index.d.ts.map +1 -1
  43. package/dist/v2/blocks/operation-block/index.js +2 -1
  44. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.script.js +1 -1
  45. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.d.ts +1 -1
  46. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.d.ts.map +1 -1
  47. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js +15 -9
  48. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js.map +1 -1
  49. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.d.ts.map +1 -1
  50. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js +9 -7
  51. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js.map +1 -1
  52. package/dist/v2/blocks/operation-code-sample/index.d.ts +1 -0
  53. package/dist/v2/blocks/operation-code-sample/index.d.ts.map +1 -1
  54. package/dist/v2/blocks/operation-code-sample/index.js +2 -1
  55. package/dist/v2/blocks/request-block/RequestBlock.vue.d.ts.map +1 -1
  56. package/dist/v2/blocks/request-block/RequestBlock.vue.js +1 -1
  57. package/dist/v2/blocks/request-block/RequestBlock.vue.js.map +1 -1
  58. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js +30 -17
  59. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js.map +1 -1
  60. package/dist/v2/blocks/request-block/components/RequestBody.vue.d.ts.map +1 -1
  61. package/dist/v2/blocks/request-block/components/RequestBody.vue.js +1 -1
  62. package/dist/v2/blocks/request-block/components/RequestBody.vue.js.map +1 -1
  63. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js +43 -10
  64. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js.map +1 -1
  65. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js +2 -2
  66. package/dist/v2/blocks/request-block/components/RequestParams.vue.d.ts +2 -2
  67. package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts +2 -2
  68. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts +4 -2
  69. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts.map +1 -1
  70. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.js.map +1 -1
  71. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js +2 -2
  72. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js.map +1 -1
  73. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.d.ts.map +1 -1
  74. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.js.map +1 -1
  75. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js +4 -1
  76. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js.map +1 -1
  77. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.d.ts +2 -1
  78. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.d.ts.map +1 -1
  79. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js +42 -13
  80. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js.map +1 -1
  81. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.d.ts +14 -0
  82. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.d.ts.map +1 -0
  83. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.js +136 -0
  84. package/dist/v2/blocks/request-block/helpers/create-parameter-rows.js.map +1 -0
  85. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js +1 -1
  86. package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js +1 -1
  87. package/dist/v2/blocks/response-block/components/ResponseBody.vue.d.ts.map +1 -1
  88. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js +1 -1
  89. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js.map +1 -1
  90. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js +12 -10
  91. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js.map +1 -1
  92. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.d.ts +2 -0
  93. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.d.ts.map +1 -1
  94. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js +1 -1
  95. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js.map +1 -1
  96. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js +17 -4
  97. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js.map +1 -1
  98. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.d.ts +3 -1
  99. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.d.ts.map +1 -1
  100. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js +1 -1
  101. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js.map +1 -1
  102. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js +21 -9
  103. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js.map +1 -1
  104. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.d.ts +2 -2
  105. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.d.ts.map +1 -1
  106. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js +1 -1
  107. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js.map +1 -1
  108. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js +2 -2
  109. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js.map +1 -1
  110. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.d.ts.map +1 -1
  111. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js +1 -1
  112. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js.map +1 -1
  113. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.js +1 -0
  114. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.js.map +1 -1
  115. package/dist/v2/blocks/response-block/helpers/media-types.d.ts +1 -1
  116. package/dist/v2/blocks/response-block/helpers/media-types.d.ts.map +1 -1
  117. package/dist/v2/blocks/response-block/helpers/media-types.js +14 -7
  118. package/dist/v2/blocks/response-block/helpers/media-types.js.map +1 -1
  119. package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.d.ts +6 -0
  120. package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.d.ts.map +1 -0
  121. package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.js +22 -0
  122. package/dist/v2/blocks/response-block/helpers/prettify-jsonc-string.js.map +1 -0
  123. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts +2 -2
  124. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts.map +1 -1
  125. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js +1 -1
  126. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js.map +1 -1
  127. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js +124 -91
  128. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js.map +1 -1
  129. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js +1 -1
  130. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js.map +1 -1
  131. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.d.ts +2 -2
  132. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts +30 -20
  133. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.d.ts.map +1 -1
  134. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js.map +1 -1
  135. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js +43 -21
  136. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js.map +1 -1
  137. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.d.ts +15 -2
  138. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.d.ts.map +1 -1
  139. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js +1 -3
  140. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js.map +1 -1
  141. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js +74 -28
  142. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js.map +1 -1
  143. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.d.ts +30 -20
  144. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.d.ts.map +1 -1
  145. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.js.map +1 -1
  146. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js +190 -72
  147. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js.map +1 -1
  148. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts.map +1 -1
  149. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.js.map +1 -1
  150. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js +7 -1
  151. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js.map +1 -1
  152. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts +26 -10
  153. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.d.ts.map +1 -1
  154. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.js.map +1 -1
  155. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js +25 -3
  156. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js.map +1 -1
  157. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts.map +1 -1
  158. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js +12 -3
  159. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js.map +1 -1
  160. package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts +1 -0
  161. package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts.map +1 -1
  162. package/dist/v2/components/code-input/CodeInput.vue.d.ts +4 -4
  163. package/dist/v2/components/code-input/CodeInput.vue.script.js +1 -1
  164. package/dist/v2/components/code-input/code-variable-widget.js +1 -1
  165. package/dist/v2/components/forms/ConfirmationForm.vue.d.ts +2 -2
  166. package/dist/v2/components/modals/DeleteModal.vue.d.ts +2 -2
  167. package/dist/v2/components/server/ServerDropdown.vue.d.ts +2 -2
  168. package/dist/v2/components/server/ServerDropdown.vue.js.map +1 -1
  169. package/dist/v2/components/server/ServerDropdown.vue.script.js +1 -1
  170. package/dist/v2/components/server/ServerDropdown.vue.script.js.map +1 -1
  171. package/dist/v2/components/sidebar/Sidebar.vue.d.ts.map +1 -1
  172. package/dist/v2/components/sidebar/Sidebar.vue.js.map +1 -1
  173. package/dist/v2/components/sidebar/Sidebar.vue.script.js +4 -3
  174. package/dist/v2/components/sidebar/Sidebar.vue.script.js.map +1 -1
  175. package/dist/v2/constants.js +1 -1
  176. package/dist/v2/features/command-palette/components/CommandActionForm.vue.d.ts +2 -2
  177. package/dist/v2/features/command-palette/components/CommandActionInput.vue.d.ts +2 -2
  178. package/dist/v2/features/command-palette/index.d.ts +0 -2
  179. package/dist/v2/features/command-palette/index.d.ts.map +1 -1
  180. package/dist/v2/features/command-palette/index.js +1 -3
  181. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.d.ts +2 -2
  182. package/dist/v2/features/modal/Modal.vue.d.ts +5 -7
  183. package/dist/v2/features/modal/Modal.vue.d.ts.map +1 -1
  184. package/dist/v2/features/modal/Modal.vue.js.map +1 -1
  185. package/dist/v2/features/modal/Modal.vue.script.js +3 -3
  186. package/dist/v2/features/modal/Modal.vue.script.js.map +1 -1
  187. package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts +1 -1
  188. package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts.map +1 -1
  189. package/dist/v2/features/modal/helpers/create-api-client-modal.js +8 -3
  190. package/dist/v2/features/modal/helpers/create-api-client-modal.js.map +1 -1
  191. package/dist/v2/features/modal/helpers/resolve-route-parameters.d.ts +5 -1
  192. package/dist/v2/features/modal/helpers/resolve-route-parameters.d.ts.map +1 -1
  193. package/dist/v2/features/modal/helpers/resolve-route-parameters.js +15 -4
  194. package/dist/v2/features/modal/helpers/resolve-route-parameters.js.map +1 -1
  195. package/dist/v2/features/modal/hooks/use-modal-sidebar.d.ts.map +1 -1
  196. package/dist/v2/features/modal/hooks/use-modal-sidebar.js +5 -1
  197. package/dist/v2/features/modal/hooks/use-modal-sidebar.js.map +1 -1
  198. package/dist/v2/features/modal/index.js +1 -1
  199. package/dist/v2/features/modal/modal-events.d.ts.map +1 -1
  200. package/dist/v2/features/modal/modal-events.js +10 -6
  201. package/dist/v2/features/modal/modal-events.js.map +1 -1
  202. package/dist/v2/features/operation/Operation.vue.d.ts +35 -3
  203. package/dist/v2/features/operation/Operation.vue.d.ts.map +1 -1
  204. package/dist/v2/features/operation/Operation.vue.js.map +1 -1
  205. package/dist/v2/features/operation/Operation.vue.script.js +1 -9
  206. package/dist/v2/features/operation/Operation.vue.script.js.map +1 -1
  207. package/dist/v2/helpers/handle-hotkeys.d.ts.map +1 -1
  208. package/dist/v2/helpers/handle-hotkeys.js +4 -0
  209. package/dist/v2/helpers/handle-hotkeys.js.map +1 -1
  210. package/dist/v2/helpers/test-utils.d.ts +2 -0
  211. package/dist/v2/helpers/test-utils.d.ts.map +1 -1
  212. package/dist/v2/helpers/test-utils.js +18 -0
  213. package/dist/v2/helpers/test-utils.js.map +1 -0
  214. package/dist/v2/hooks/index.d.ts +2 -0
  215. package/dist/v2/hooks/index.d.ts.map +1 -0
  216. package/dist/v2/hooks/index.js +2 -0
  217. package/dist/v2/types/options.d.ts +1 -1
  218. package/dist/v2/types/options.d.ts.map +1 -1
  219. package/dist/v2/workspace-events.d.ts.map +1 -1
  220. package/dist/v2/workspace-events.js +2 -0
  221. package/dist/v2/workspace-events.js.map +1 -1
  222. package/dist/vue-styles.css +108 -658
  223. package/package.json +67 -96
  224. package/dist/components/IconSelector.vue.d.ts +0 -27
  225. package/dist/components/IconSelector.vue.d.ts.map +0 -1
  226. package/dist/components/IconSelector.vue.js +0 -7
  227. package/dist/components/IconSelector.vue.js.map +0 -1
  228. package/dist/components/IconSelector.vue.script.js +0 -65
  229. package/dist/components/IconSelector.vue.script.js.map +0 -1
  230. package/dist/components/ImportCollection/IntegrationLogo.vue.d.ts +0 -7
  231. package/dist/components/ImportCollection/IntegrationLogo.vue.d.ts.map +0 -1
  232. package/dist/components/ImportCollection/IntegrationLogo.vue.js +0 -7
  233. package/dist/components/ImportCollection/IntegrationLogo.vue.js.map +0 -1
  234. package/dist/components/ImportCollection/IntegrationLogo.vue.script.js +0 -50
  235. package/dist/components/ImportCollection/IntegrationLogo.vue.script.js.map +0 -1
  236. package/dist/components/ScalarAsciiArt.vue.d.ts.map +0 -1
  237. package/dist/components/ScalarAsciiArt.vue.js.map +0 -1
  238. package/dist/components/ScalarAsciiArt.vue.script.js.map +0 -1
  239. package/dist/index.d.ts +0 -2
  240. package/dist/index.d.ts.map +0 -1
  241. package/dist/monacoeditorwork/editor.worker.bundle.js +0 -14319
  242. package/dist/monacoeditorwork/json.worker.bundle.js +0 -22098
  243. package/dist/monacoeditorwork/yaml.worker.bundle.js +0 -38414
  244. package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts +0 -42
  245. package/dist/v2/blocks/request-block/helpers/get-default-headers.d.ts.map +0 -1
  246. package/dist/v2/blocks/request-block/helpers/get-default-headers.js +0 -61
  247. package/dist/v2/blocks/request-block/helpers/get-default-headers.js.map +0 -1
  248. package/dist/v2/features/app/App.vue.d.ts +0 -75
  249. package/dist/v2/features/app/App.vue.d.ts.map +0 -1
  250. package/dist/v2/features/app/App.vue.js +0 -8
  251. package/dist/v2/features/app/App.vue.js.map +0 -1
  252. package/dist/v2/features/app/App.vue.script.js +0 -284
  253. package/dist/v2/features/app/App.vue.script.js.map +0 -1
  254. package/dist/v2/features/app/app-events.d.ts +0 -20
  255. package/dist/v2/features/app/app-events.d.ts.map +0 -1
  256. package/dist/v2/features/app/app-events.js +0 -254
  257. package/dist/v2/features/app/app-events.js.map +0 -1
  258. package/dist/v2/features/app/app-state.d.ts +0 -156
  259. package/dist/v2/features/app/app-state.d.ts.map +0 -1
  260. package/dist/v2/features/app/app-state.js +0 -717
  261. package/dist/v2/features/app/app-state.js.map +0 -1
  262. package/dist/v2/features/app/components/AppHeader.vue.d.ts +0 -43
  263. package/dist/v2/features/app/components/AppHeader.vue.d.ts.map +0 -1
  264. package/dist/v2/features/app/components/AppHeader.vue.js +0 -7
  265. package/dist/v2/features/app/components/AppHeader.vue.js.map +0 -1
  266. package/dist/v2/features/app/components/AppHeader.vue.script.js +0 -53
  267. package/dist/v2/features/app/components/AppHeader.vue.script.js.map +0 -1
  268. package/dist/v2/features/app/components/AppHeaderActions.vue.d.ts +0 -32
  269. package/dist/v2/features/app/components/AppHeaderActions.vue.d.ts.map +0 -1
  270. package/dist/v2/features/app/components/AppHeaderActions.vue.js +0 -7
  271. package/dist/v2/features/app/components/AppHeaderActions.vue.js.map +0 -1
  272. package/dist/v2/features/app/components/AppHeaderActions.vue.script.js +0 -172
  273. package/dist/v2/features/app/components/AppHeaderActions.vue.script.js.map +0 -1
  274. package/dist/v2/features/app/components/AppSidebar.vue.d.ts +0 -37
  275. package/dist/v2/features/app/components/AppSidebar.vue.d.ts.map +0 -1
  276. package/dist/v2/features/app/components/AppSidebar.vue.js +0 -9
  277. package/dist/v2/features/app/components/AppSidebar.vue.js.map +0 -1
  278. package/dist/v2/features/app/components/AppSidebar.vue.script.js +0 -466
  279. package/dist/v2/features/app/components/AppSidebar.vue.script.js.map +0 -1
  280. package/dist/v2/features/app/components/CreateVersionModal.vue.d.ts +0 -28
  281. package/dist/v2/features/app/components/CreateVersionModal.vue.d.ts.map +0 -1
  282. package/dist/v2/features/app/components/CreateVersionModal.vue.js +0 -7
  283. package/dist/v2/features/app/components/CreateVersionModal.vue.js.map +0 -1
  284. package/dist/v2/features/app/components/CreateVersionModal.vue.script.js +0 -84
  285. package/dist/v2/features/app/components/CreateVersionModal.vue.script.js.map +0 -1
  286. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.d.ts +0 -16
  287. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.d.ts.map +0 -1
  288. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js +0 -7
  289. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js.map +0 -1
  290. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js +0 -58
  291. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js.map +0 -1
  292. package/dist/v2/features/app/components/DesktopTab.vue.d.ts +0 -27
  293. package/dist/v2/features/app/components/DesktopTab.vue.d.ts.map +0 -1
  294. package/dist/v2/features/app/components/DesktopTab.vue.js +0 -9
  295. package/dist/v2/features/app/components/DesktopTab.vue.js.map +0 -1
  296. package/dist/v2/features/app/components/DesktopTab.vue.script.js +0 -121
  297. package/dist/v2/features/app/components/DesktopTab.vue.script.js.map +0 -1
  298. package/dist/v2/features/app/components/DesktopTabs.vue.d.ts +0 -14
  299. package/dist/v2/features/app/components/DesktopTabs.vue.d.ts.map +0 -1
  300. package/dist/v2/features/app/components/DesktopTabs.vue.js +0 -7
  301. package/dist/v2/features/app/components/DesktopTabs.vue.js.map +0 -1
  302. package/dist/v2/features/app/components/DesktopTabs.vue.script.js +0 -75
  303. package/dist/v2/features/app/components/DesktopTabs.vue.script.js.map +0 -1
  304. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.d.ts +0 -25
  305. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.d.ts.map +0 -1
  306. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.js +0 -9
  307. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.js.map +0 -1
  308. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.script.js +0 -345
  309. package/dist/v2/features/app/components/DocumentBreadcrumb.vue.script.js.map +0 -1
  310. package/dist/v2/features/app/components/DocumentSyncIndicator.vue.d.ts +0 -16
  311. package/dist/v2/features/app/components/DocumentSyncIndicator.vue.d.ts.map +0 -1
  312. package/dist/v2/features/app/components/PublishDocumentModal.vue.d.ts +0 -77
  313. package/dist/v2/features/app/components/PublishDocumentModal.vue.d.ts.map +0 -1
  314. package/dist/v2/features/app/components/PublishDocumentModal.vue.js +0 -7
  315. package/dist/v2/features/app/components/PublishDocumentModal.vue.js.map +0 -1
  316. package/dist/v2/features/app/components/PublishDocumentModal.vue.script.js +0 -209
  317. package/dist/v2/features/app/components/PublishDocumentModal.vue.script.js.map +0 -1
  318. package/dist/v2/features/app/components/SidebarDocument.vue.d.ts +0 -45
  319. package/dist/v2/features/app/components/SidebarDocument.vue.d.ts.map +0 -1
  320. package/dist/v2/features/app/components/SidebarDocument.vue.js +0 -7
  321. package/dist/v2/features/app/components/SidebarDocument.vue.js.map +0 -1
  322. package/dist/v2/features/app/components/SidebarDocument.vue.script.js +0 -137
  323. package/dist/v2/features/app/components/SidebarDocument.vue.script.js.map +0 -1
  324. package/dist/v2/features/app/components/SidebarItemMenu.vue.d.ts +0 -26
  325. package/dist/v2/features/app/components/SidebarItemMenu.vue.d.ts.map +0 -1
  326. package/dist/v2/features/app/components/SidebarItemMenu.vue.js +0 -7
  327. package/dist/v2/features/app/components/SidebarItemMenu.vue.js.map +0 -1
  328. package/dist/v2/features/app/components/SidebarItemMenu.vue.script.js +0 -175
  329. package/dist/v2/features/app/components/SidebarItemMenu.vue.script.js.map +0 -1
  330. package/dist/v2/features/app/components/SplashScreen.vue.d.ts +0 -4
  331. package/dist/v2/features/app/components/SplashScreen.vue.d.ts.map +0 -1
  332. package/dist/v2/features/app/components/SplashScreen.vue.js +0 -9
  333. package/dist/v2/features/app/components/SplashScreen.vue.js.map +0 -1
  334. package/dist/v2/features/app/components/SplashScreen.vue.script.js +0 -20
  335. package/dist/v2/features/app/components/SplashScreen.vue.script.js.map +0 -1
  336. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.d.ts +0 -18
  337. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.d.ts.map +0 -1
  338. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.js +0 -9
  339. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.js.map +0 -1
  340. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.script.js +0 -136
  341. package/dist/v2/features/app/components/SyncConflictResolutionEditor.vue.script.js.map +0 -1
  342. package/dist/v2/features/app/components/index.d.ts +0 -2
  343. package/dist/v2/features/app/components/index.d.ts.map +0 -1
  344. package/dist/v2/features/app/components/index.js +0 -2
  345. package/dist/v2/features/app/helpers/check-version-conflict.d.ts +0 -54
  346. package/dist/v2/features/app/helpers/check-version-conflict.d.ts.map +0 -1
  347. package/dist/v2/features/app/helpers/check-version-conflict.js +0 -82
  348. package/dist/v2/features/app/helpers/check-version-conflict.js.map +0 -1
  349. package/dist/v2/features/app/helpers/compute-version-status.d.ts +0 -45
  350. package/dist/v2/features/app/helpers/compute-version-status.d.ts.map +0 -1
  351. package/dist/v2/features/app/helpers/compute-version-status.js +0 -18
  352. package/dist/v2/features/app/helpers/compute-version-status.js.map +0 -1
  353. package/dist/v2/features/app/helpers/create-api-client-app.d.ts +0 -59
  354. package/dist/v2/features/app/helpers/create-api-client-app.d.ts.map +0 -1
  355. package/dist/v2/features/app/helpers/create-api-client-app.js +0 -55
  356. package/dist/v2/features/app/helpers/create-api-client-app.js.map +0 -1
  357. package/dist/v2/features/app/helpers/create-draft-registry-document.d.ts +0 -39
  358. package/dist/v2/features/app/helpers/create-draft-registry-document.d.ts.map +0 -1
  359. package/dist/v2/features/app/helpers/create-draft-registry-document.js +0 -64
  360. package/dist/v2/features/app/helpers/create-draft-registry-document.js.map +0 -1
  361. package/dist/v2/features/app/helpers/create-temp-operation.d.ts +0 -14
  362. package/dist/v2/features/app/helpers/create-temp-operation.d.ts.map +0 -1
  363. package/dist/v2/features/app/helpers/create-temp-operation.js +0 -52
  364. package/dist/v2/features/app/helpers/create-temp-operation.js.map +0 -1
  365. package/dist/v2/features/app/helpers/detect-document-conflicts.d.ts +0 -26
  366. package/dist/v2/features/app/helpers/detect-document-conflicts.d.ts.map +0 -1
  367. package/dist/v2/features/app/helpers/detect-document-conflicts.js +0 -27
  368. package/dist/v2/features/app/helpers/detect-document-conflicts.js.map +0 -1
  369. package/dist/v2/features/app/helpers/filter-workspaces.d.ts +0 -49
  370. package/dist/v2/features/app/helpers/filter-workspaces.d.ts.map +0 -1
  371. package/dist/v2/features/app/helpers/filter-workspaces.js +0 -55
  372. package/dist/v2/features/app/helpers/filter-workspaces.js.map +0 -1
  373. package/dist/v2/features/app/helpers/get-route-param.d.ts +0 -7
  374. package/dist/v2/features/app/helpers/get-route-param.d.ts.map +0 -1
  375. package/dist/v2/features/app/helpers/get-route-param.js +0 -12
  376. package/dist/v2/features/app/helpers/get-route-param.js.map +0 -1
  377. package/dist/v2/features/app/helpers/group-workspaces.d.ts +0 -44
  378. package/dist/v2/features/app/helpers/group-workspaces.d.ts.map +0 -1
  379. package/dist/v2/features/app/helpers/group-workspaces.js +0 -53
  380. package/dist/v2/features/app/helpers/group-workspaces.js.map +0 -1
  381. package/dist/v2/features/app/helpers/load-registry-document.d.ts +0 -24
  382. package/dist/v2/features/app/helpers/load-registry-document.d.ts.map +0 -1
  383. package/dist/v2/features/app/helpers/load-registry-document.js +0 -47
  384. package/dist/v2/features/app/helpers/load-registry-document.js.map +0 -1
  385. package/dist/v2/features/app/helpers/registry-error-messages.d.ts +0 -23
  386. package/dist/v2/features/app/helpers/registry-error-messages.d.ts.map +0 -1
  387. package/dist/v2/features/app/helpers/registry-error-messages.js +0 -63
  388. package/dist/v2/features/app/helpers/registry-error-messages.js.map +0 -1
  389. package/dist/v2/features/app/helpers/routes.d.ts +0 -184
  390. package/dist/v2/features/app/helpers/routes.d.ts.map +0 -1
  391. package/dist/v2/features/app/helpers/routes.js +0 -153
  392. package/dist/v2/features/app/helpers/routes.js.map +0 -1
  393. package/dist/v2/features/app/helpers/version-status-presentation.d.ts +0 -24
  394. package/dist/v2/features/app/helpers/version-status-presentation.d.ts.map +0 -1
  395. package/dist/v2/features/app/helpers/version-status-presentation.js +0 -43
  396. package/dist/v2/features/app/helpers/version-status-presentation.js.map +0 -1
  397. package/dist/v2/features/app/hooks/use-active-document-version.d.ts +0 -42
  398. package/dist/v2/features/app/hooks/use-active-document-version.d.ts.map +0 -1
  399. package/dist/v2/features/app/hooks/use-active-document-version.js +0 -60
  400. package/dist/v2/features/app/hooks/use-active-document-version.js.map +0 -1
  401. package/dist/v2/features/app/hooks/use-document-filter.d.ts +0 -38
  402. package/dist/v2/features/app/hooks/use-document-filter.d.ts.map +0 -1
  403. package/dist/v2/features/app/hooks/use-document-filter.js +0 -63
  404. package/dist/v2/features/app/hooks/use-document-filter.js.map +0 -1
  405. package/dist/v2/features/app/hooks/use-document-sync.d.ts +0 -126
  406. package/dist/v2/features/app/hooks/use-document-sync.d.ts.map +0 -1
  407. package/dist/v2/features/app/hooks/use-document-sync.js +0 -448
  408. package/dist/v2/features/app/hooks/use-document-sync.js.map +0 -1
  409. package/dist/v2/features/app/hooks/use-document-watcher.d.ts +0 -30
  410. package/dist/v2/features/app/hooks/use-document-watcher.d.ts.map +0 -1
  411. package/dist/v2/features/app/hooks/use-document-watcher.js +0 -168
  412. package/dist/v2/features/app/hooks/use-document-watcher.js.map +0 -1
  413. package/dist/v2/features/app/hooks/use-network-status.d.ts +0 -29
  414. package/dist/v2/features/app/hooks/use-network-status.d.ts.map +0 -1
  415. package/dist/v2/features/app/hooks/use-network-status.js +0 -58
  416. package/dist/v2/features/app/hooks/use-network-status.js.map +0 -1
  417. package/dist/v2/features/app/hooks/use-sidebar-context-menu.d.ts +0 -17258
  418. package/dist/v2/features/app/hooks/use-sidebar-context-menu.d.ts.map +0 -1
  419. package/dist/v2/features/app/hooks/use-sidebar-context-menu.js +0 -107
  420. package/dist/v2/features/app/hooks/use-sidebar-context-menu.js.map +0 -1
  421. package/dist/v2/features/app/hooks/use-sidebar-documents.d.ts +0 -119
  422. package/dist/v2/features/app/hooks/use-sidebar-documents.d.ts.map +0 -1
  423. package/dist/v2/features/app/hooks/use-sidebar-documents.js +0 -219
  424. package/dist/v2/features/app/hooks/use-sidebar-documents.js.map +0 -1
  425. package/dist/v2/features/app/hooks/use-theme.d.ts +0 -56
  426. package/dist/v2/features/app/hooks/use-theme.d.ts.map +0 -1
  427. package/dist/v2/features/app/hooks/use-theme.js +0 -94
  428. package/dist/v2/features/app/hooks/use-theme.js.map +0 -1
  429. package/dist/v2/features/app/hooks/use-version-conflict-check.d.ts +0 -35
  430. package/dist/v2/features/app/hooks/use-version-conflict-check.d.ts.map +0 -1
  431. package/dist/v2/features/app/hooks/use-version-conflict-check.js +0 -62
  432. package/dist/v2/features/app/hooks/use-version-conflict-check.js.map +0 -1
  433. package/dist/v2/features/app/index.d.ts +0 -10
  434. package/dist/v2/features/app/index.d.ts.map +0 -1
  435. package/dist/v2/features/app/index.js +0 -8
  436. package/dist/v2/features/collection/DocumentCollection.vue.d.ts +0 -13
  437. package/dist/v2/features/collection/DocumentCollection.vue.d.ts.map +0 -1
  438. package/dist/v2/features/collection/DocumentCollection.vue.js +0 -8
  439. package/dist/v2/features/collection/DocumentCollection.vue.js.map +0 -1
  440. package/dist/v2/features/collection/DocumentCollection.vue.script.js +0 -112
  441. package/dist/v2/features/collection/DocumentCollection.vue.script.js.map +0 -1
  442. package/dist/v2/features/collection/OperationCollection.vue.d.ts +0 -6
  443. package/dist/v2/features/collection/OperationCollection.vue.d.ts.map +0 -1
  444. package/dist/v2/features/collection/OperationCollection.vue.js +0 -7
  445. package/dist/v2/features/collection/OperationCollection.vue.js.map +0 -1
  446. package/dist/v2/features/collection/OperationCollection.vue.script.js +0 -95
  447. package/dist/v2/features/collection/OperationCollection.vue.script.js.map +0 -1
  448. package/dist/v2/features/collection/WorkspaceCollection.vue.d.ts +0 -6
  449. package/dist/v2/features/collection/WorkspaceCollection.vue.d.ts.map +0 -1
  450. package/dist/v2/features/collection/WorkspaceCollection.vue.js +0 -7
  451. package/dist/v2/features/collection/WorkspaceCollection.vue.js.map +0 -1
  452. package/dist/v2/features/collection/WorkspaceCollection.vue.script.js +0 -74
  453. package/dist/v2/features/collection/WorkspaceCollection.vue.script.js.map +0 -1
  454. package/dist/v2/features/collection/components/Authentication.vue.d.ts +0 -16
  455. package/dist/v2/features/collection/components/Authentication.vue.d.ts.map +0 -1
  456. package/dist/v2/features/collection/components/Authentication.vue.js +0 -9
  457. package/dist/v2/features/collection/components/Authentication.vue.js.map +0 -1
  458. package/dist/v2/features/collection/components/Authentication.vue.script.js +0 -174
  459. package/dist/v2/features/collection/components/Authentication.vue.script.js.map +0 -1
  460. package/dist/v2/features/collection/components/Cookies.vue.d.ts +0 -21
  461. package/dist/v2/features/collection/components/Cookies.vue.d.ts.map +0 -1
  462. package/dist/v2/features/collection/components/Cookies.vue.js +0 -7
  463. package/dist/v2/features/collection/components/Cookies.vue.js.map +0 -1
  464. package/dist/v2/features/collection/components/Cookies.vue.script.js +0 -58
  465. package/dist/v2/features/collection/components/Cookies.vue.script.js.map +0 -1
  466. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.d.ts +0 -12
  467. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.d.ts.map +0 -1
  468. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.js +0 -9
  469. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.js.map +0 -1
  470. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.script.js +0 -174
  471. package/dist/v2/features/collection/components/DocumentScriptsEditors.vue.script.js.map +0 -1
  472. package/dist/v2/features/collection/components/Editor/Editor.vue.d.ts +0 -16
  473. package/dist/v2/features/collection/components/Editor/Editor.vue.d.ts.map +0 -1
  474. package/dist/v2/features/collection/components/Editor/Editor.vue.js +0 -9
  475. package/dist/v2/features/collection/components/Editor/Editor.vue.js.map +0 -1
  476. package/dist/v2/features/collection/components/Editor/Editor.vue.script.js +0 -361
  477. package/dist/v2/features/collection/components/Editor/Editor.vue.script.js.map +0 -1
  478. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.d.ts +0 -19
  479. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.d.ts.map +0 -1
  480. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js +0 -7
  481. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js.map +0 -1
  482. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.script.js +0 -69
  483. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.script.js.map +0 -1
  484. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.d.ts +0 -16
  485. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.d.ts.map +0 -1
  486. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js +0 -7
  487. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js.map +0 -1
  488. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.script.js +0 -91
  489. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.script.js.map +0 -1
  490. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.d.ts +0 -12
  491. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.d.ts.map +0 -1
  492. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js +0 -22
  493. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js.map +0 -1
  494. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.d.ts +0 -11
  495. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.d.ts.map +0 -1
  496. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js +0 -17
  497. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js.map +0 -1
  498. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.d.ts +0 -7
  499. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.d.ts.map +0 -1
  500. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js +0 -17
  501. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js.map +0 -1
  502. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.d.ts +0 -10
  503. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.d.ts.map +0 -1
  504. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js +0 -34
  505. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js.map +0 -1
  506. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.d.ts +0 -10
  507. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.d.ts.map +0 -1
  508. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js +0 -18
  509. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js.map +0 -1
  510. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.d.ts +0 -15
  511. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.d.ts.map +0 -1
  512. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js +0 -36
  513. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js.map +0 -1
  514. package/dist/v2/features/collection/components/Editor/index.d.ts +0 -2
  515. package/dist/v2/features/collection/components/Editor/index.d.ts.map +0 -1
  516. package/dist/v2/features/collection/components/Editor/index.js +0 -2
  517. package/dist/v2/features/collection/components/Environment.vue.d.ts +0 -21
  518. package/dist/v2/features/collection/components/Environment.vue.d.ts.map +0 -1
  519. package/dist/v2/features/collection/components/Environment.vue.js +0 -7
  520. package/dist/v2/features/collection/components/Environment.vue.js.map +0 -1
  521. package/dist/v2/features/collection/components/Environment.vue.script.js +0 -61
  522. package/dist/v2/features/collection/components/Environment.vue.script.js.map +0 -1
  523. package/dist/v2/features/collection/components/Form.vue.d.ts +0 -29
  524. package/dist/v2/features/collection/components/Form.vue.d.ts.map +0 -1
  525. package/dist/v2/features/collection/components/Form.vue.js +0 -7
  526. package/dist/v2/features/collection/components/Form.vue.js.map +0 -1
  527. package/dist/v2/features/collection/components/Form.vue.script.js +0 -78
  528. package/dist/v2/features/collection/components/Form.vue.script.js.map +0 -1
  529. package/dist/v2/features/collection/components/GetStarted.vue.d.ts +0 -21
  530. package/dist/v2/features/collection/components/GetStarted.vue.d.ts.map +0 -1
  531. package/dist/v2/features/collection/components/GetStarted.vue.js +0 -7
  532. package/dist/v2/features/collection/components/GetStarted.vue.js.map +0 -1
  533. package/dist/v2/features/collection/components/GetStarted.vue.script.js +0 -144
  534. package/dist/v2/features/collection/components/GetStarted.vue.script.js.map +0 -1
  535. package/dist/v2/features/collection/components/LabelInput.vue.d.ts +0 -18
  536. package/dist/v2/features/collection/components/LabelInput.vue.d.ts.map +0 -1
  537. package/dist/v2/features/collection/components/LabelInput.vue.js +0 -9
  538. package/dist/v2/features/collection/components/LabelInput.vue.js.map +0 -1
  539. package/dist/v2/features/collection/components/LabelInput.vue.script.js +0 -38
  540. package/dist/v2/features/collection/components/LabelInput.vue.script.js.map +0 -1
  541. package/dist/v2/features/collection/components/Overview.vue.d.ts +0 -16
  542. package/dist/v2/features/collection/components/Overview.vue.d.ts.map +0 -1
  543. package/dist/v2/features/collection/components/Overview.vue.js +0 -9
  544. package/dist/v2/features/collection/components/Overview.vue.js.map +0 -1
  545. package/dist/v2/features/collection/components/Overview.vue.script.js +0 -204
  546. package/dist/v2/features/collection/components/Overview.vue.script.js.map +0 -1
  547. package/dist/v2/features/collection/components/Runner/components/Runner.vue.d.ts +0 -16
  548. package/dist/v2/features/collection/components/Runner/components/Runner.vue.d.ts.map +0 -1
  549. package/dist/v2/features/collection/components/Runner/components/Runner.vue.js +0 -7
  550. package/dist/v2/features/collection/components/Runner/components/Runner.vue.js.map +0 -1
  551. package/dist/v2/features/collection/components/Runner/components/Runner.vue.script.js +0 -223
  552. package/dist/v2/features/collection/components/Runner/components/Runner.vue.script.js.map +0 -1
  553. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.d.ts +0 -20
  554. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.d.ts.map +0 -1
  555. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.js +0 -7
  556. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.js.map +0 -1
  557. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.script.js +0 -45
  558. package/dist/v2/features/collection/components/Runner/components/RunnerCard.vue.script.js.map +0 -1
  559. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.d.ts +0 -19
  560. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.d.ts.map +0 -1
  561. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.js +0 -7
  562. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.js.map +0 -1
  563. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.script.js +0 -73
  564. package/dist/v2/features/collection/components/Runner/components/RunnerOrderItem.vue.script.js.map +0 -1
  565. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.d.ts +0 -16
  566. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.d.ts.map +0 -1
  567. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.js +0 -7
  568. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.js.map +0 -1
  569. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.script.js +0 -124
  570. package/dist/v2/features/collection/components/Runner/components/RunnerResultRow.vue.script.js.map +0 -1
  571. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.d.ts +0 -17
  572. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.d.ts.map +0 -1
  573. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.js +0 -7
  574. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.js.map +0 -1
  575. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.script.js +0 -126
  576. package/dist/v2/features/collection/components/Runner/components/RunnerResults.vue.script.js.map +0 -1
  577. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.d.ts +0 -18
  578. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.d.ts.map +0 -1
  579. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.js +0 -7
  580. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.js.map +0 -1
  581. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.script.js +0 -180
  582. package/dist/v2/features/collection/components/Runner/components/RunnerTree.vue.script.js.map +0 -1
  583. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.d.ts +0 -14
  584. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.d.ts.map +0 -1
  585. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.js +0 -7
  586. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.js.map +0 -1
  587. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.script.js +0 -44
  588. package/dist/v2/features/collection/components/Runner/components/RunnerTreeExample.vue.script.js.map +0 -1
  589. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.d.ts +0 -19
  590. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.d.ts.map +0 -1
  591. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.js +0 -7
  592. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.js.map +0 -1
  593. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.script.js +0 -53
  594. package/dist/v2/features/collection/components/Runner/components/RunnerTreeGroup.vue.script.js.map +0 -1
  595. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.d.ts +0 -23
  596. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.d.ts.map +0 -1
  597. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.js +0 -7
  598. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.js.map +0 -1
  599. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.script.js +0 -75
  600. package/dist/v2/features/collection/components/Runner/components/RunnerTreeOperation.vue.script.js.map +0 -1
  601. package/dist/v2/features/collection/components/Runner/hooks/index.d.ts +0 -3
  602. package/dist/v2/features/collection/components/Runner/hooks/index.d.ts.map +0 -1
  603. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.d.ts +0 -75
  604. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.d.ts.map +0 -1
  605. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.js +0 -191
  606. package/dist/v2/features/collection/components/Runner/hooks/use-runner-execution.js.map +0 -1
  607. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.d.ts +0 -46
  608. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.d.ts.map +0 -1
  609. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.js +0 -114
  610. package/dist/v2/features/collection/components/Runner/hooks/use-runner-selection.js.map +0 -1
  611. package/dist/v2/features/collection/components/Runner/index.d.ts +0 -2
  612. package/dist/v2/features/collection/components/Runner/index.d.ts.map +0 -1
  613. package/dist/v2/features/collection/components/Scripts.vue.d.ts +0 -16
  614. package/dist/v2/features/collection/components/Scripts.vue.d.ts.map +0 -1
  615. package/dist/v2/features/collection/components/Scripts.vue.js +0 -7
  616. package/dist/v2/features/collection/components/Scripts.vue.js.map +0 -1
  617. package/dist/v2/features/collection/components/Scripts.vue.script.js +0 -49
  618. package/dist/v2/features/collection/components/Scripts.vue.script.js.map +0 -1
  619. package/dist/v2/features/collection/components/Servers.vue.d.ts +0 -16
  620. package/dist/v2/features/collection/components/Servers.vue.d.ts.map +0 -1
  621. package/dist/v2/features/collection/components/Servers.vue.js +0 -7
  622. package/dist/v2/features/collection/components/Servers.vue.js.map +0 -1
  623. package/dist/v2/features/collection/components/Servers.vue.script.js +0 -219
  624. package/dist/v2/features/collection/components/Servers.vue.script.js.map +0 -1
  625. package/dist/v2/features/collection/components/Settings.vue.d.ts +0 -16
  626. package/dist/v2/features/collection/components/Settings.vue.d.ts.map +0 -1
  627. package/dist/v2/features/collection/components/Settings.vue.js +0 -7
  628. package/dist/v2/features/collection/components/Settings.vue.js.map +0 -1
  629. package/dist/v2/features/collection/components/Settings.vue.script.js +0 -81
  630. package/dist/v2/features/collection/components/Settings.vue.script.js.map +0 -1
  631. package/dist/v2/features/collection/components/Tabs.vue.d.ts +0 -8
  632. package/dist/v2/features/collection/components/Tabs.vue.d.ts.map +0 -1
  633. package/dist/v2/features/collection/components/Tabs.vue.js +0 -7
  634. package/dist/v2/features/collection/components/Tabs.vue.js.map +0 -1
  635. package/dist/v2/features/collection/components/Tabs.vue.script.js +0 -55
  636. package/dist/v2/features/collection/components/Tabs.vue.script.js.map +0 -1
  637. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.d.ts +0 -12
  638. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.d.ts.map +0 -1
  639. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js +0 -19
  640. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js.map +0 -1
  641. package/dist/v2/features/command-palette/TheCommandPalette.vue.d.ts +0 -42
  642. package/dist/v2/features/command-palette/TheCommandPalette.vue.d.ts.map +0 -1
  643. package/dist/v2/features/command-palette/TheCommandPalette.vue.js +0 -9
  644. package/dist/v2/features/command-palette/TheCommandPalette.vue.js.map +0 -1
  645. package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js +0 -189
  646. package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js.map +0 -1
  647. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.d.ts +0 -49
  648. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.d.ts.map +0 -1
  649. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js +0 -7
  650. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js.map +0 -1
  651. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.script.js +0 -225
  652. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.script.js.map +0 -1
  653. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts +0 -53
  654. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts.map +0 -1
  655. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js +0 -7
  656. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js.map +0 -1
  657. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js +0 -227
  658. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js.map +0 -1
  659. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.d.ts +0 -44
  660. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.d.ts.map +0 -1
  661. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js +0 -9
  662. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js.map +0 -1
  663. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.script.js +0 -137
  664. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.script.js.map +0 -1
  665. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts +0 -30
  666. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts.map +0 -1
  667. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js +0 -7
  668. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js.map +0 -1
  669. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js +0 -156
  670. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js.map +0 -1
  671. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.d.ts +0 -37
  672. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.d.ts.map +0 -1
  673. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js +0 -7
  674. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js.map +0 -1
  675. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js +0 -105
  676. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js.map +0 -1
  677. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.d.ts +0 -48
  678. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.d.ts.map +0 -1
  679. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js +0 -7
  680. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js.map +0 -1
  681. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.script.js +0 -228
  682. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.script.js.map +0 -1
  683. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.d.ts +0 -65
  684. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.d.ts.map +0 -1
  685. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js +0 -7
  686. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js.map +0 -1
  687. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.script.js +0 -142
  688. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.script.js.map +0 -1
  689. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.d.ts +0 -58
  690. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.d.ts.map +0 -1
  691. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js +0 -9
  692. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js.map +0 -1
  693. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js +0 -142
  694. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js.map +0 -1
  695. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.d.ts +0 -23
  696. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.d.ts.map +0 -1
  697. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.js +0 -9
  698. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.js.map +0 -1
  699. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.script.js +0 -138
  700. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.script.js.map +0 -1
  701. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.d.ts +0 -34
  702. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.d.ts.map +0 -1
  703. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js +0 -7
  704. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js.map +0 -1
  705. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.script.js +0 -39
  706. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.script.js.map +0 -1
  707. package/dist/v2/features/command-palette/helpers/generate-unique-slug.d.ts +0 -20
  708. package/dist/v2/features/command-palette/helpers/generate-unique-slug.d.ts.map +0 -1
  709. package/dist/v2/features/command-palette/helpers/generate-unique-slug.js +0 -33
  710. package/dist/v2/features/command-palette/helpers/generate-unique-slug.js.map +0 -1
  711. package/dist/v2/features/command-palette/helpers/get-merge-key.d.ts +0 -11
  712. package/dist/v2/features/command-palette/helpers/get-merge-key.d.ts.map +0 -1
  713. package/dist/v2/features/command-palette/helpers/get-merge-key.js +0 -32
  714. package/dist/v2/features/command-palette/helpers/get-merge-key.js.map +0 -1
  715. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.d.ts +0 -24
  716. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.d.ts.map +0 -1
  717. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js +0 -56
  718. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js.map +0 -1
  719. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.d.ts +0 -24
  720. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.d.ts.map +0 -1
  721. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js +0 -22
  722. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js.map +0 -1
  723. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.d.ts +0 -26
  724. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.d.ts.map +0 -1
  725. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js +0 -119
  726. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js.map +0 -1
  727. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.d.ts +0 -14
  728. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.d.ts.map +0 -1
  729. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.js +0 -19
  730. package/dist/v2/features/command-palette/helpers/get-postman-convert-options.js.map +0 -1
  731. package/dist/v2/features/command-palette/helpers/get-postman-document-details.d.ts +0 -28
  732. package/dist/v2/features/command-palette/helpers/get-postman-document-details.d.ts.map +0 -1
  733. package/dist/v2/features/command-palette/helpers/get-postman-document-details.js +0 -36
  734. package/dist/v2/features/command-palette/helpers/get-postman-document-details.js.map +0 -1
  735. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.d.ts +0 -30
  736. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.d.ts.map +0 -1
  737. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js +0 -70
  738. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js.map +0 -1
  739. package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts +0 -20
  740. package/dist/v2/features/command-palette/helpers/load-document-from-source.d.ts.map +0 -1
  741. package/dist/v2/features/command-palette/helpers/load-document-from-source.js +0 -72
  742. package/dist/v2/features/command-palette/helpers/load-document-from-source.js.map +0 -1
  743. package/dist/v2/features/command-palette/helpers/parse-curl.d.ts +0 -14
  744. package/dist/v2/features/command-palette/helpers/parse-curl.d.ts.map +0 -1
  745. package/dist/v2/features/command-palette/helpers/parse-curl.js +0 -106
  746. package/dist/v2/features/command-palette/helpers/parse-curl.js.map +0 -1
  747. package/dist/v2/features/command-palette/helpers/postman-request-collisions.d.ts +0 -11
  748. package/dist/v2/features/command-palette/helpers/postman-request-collisions.d.ts.map +0 -1
  749. package/dist/v2/features/command-palette/helpers/postman-request-collisions.js +0 -35
  750. package/dist/v2/features/command-palette/helpers/postman-request-collisions.js.map +0 -1
  751. package/dist/v2/features/command-palette/helpers/postman-request-tree.d.ts +0 -41
  752. package/dist/v2/features/command-palette/helpers/postman-request-tree.d.ts.map +0 -1
  753. package/dist/v2/features/command-palette/helpers/postman-request-tree.js +0 -139
  754. package/dist/v2/features/command-palette/helpers/postman-request-tree.js.map +0 -1
  755. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts +0 -426
  756. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts.map +0 -1
  757. package/dist/v2/features/command-palette/hooks/use-command-palette-state.js +0 -207
  758. package/dist/v2/features/command-palette/hooks/use-command-palette-state.js.map +0 -1
  759. package/dist/v2/features/editor/config.d.ts +0 -16
  760. package/dist/v2/features/editor/config.d.ts.map +0 -1
  761. package/dist/v2/features/editor/config.js +0 -19
  762. package/dist/v2/features/editor/config.js.map +0 -1
  763. package/dist/v2/features/editor/helpers/configure-language-support.d.ts +0 -13
  764. package/dist/v2/features/editor/helpers/configure-language-support.d.ts.map +0 -1
  765. package/dist/v2/features/editor/helpers/configure-language-support.js +0 -48
  766. package/dist/v2/features/editor/helpers/configure-language-support.js.map +0 -1
  767. package/dist/v2/features/editor/helpers/ensure-monaco-environment.d.ts +0 -6
  768. package/dist/v2/features/editor/helpers/ensure-monaco-environment.d.ts.map +0 -1
  769. package/dist/v2/features/editor/helpers/ensure-monaco-environment.js +0 -21
  770. package/dist/v2/features/editor/helpers/ensure-monaco-environment.js.map +0 -1
  771. package/dist/v2/features/editor/helpers/json/create-json-model.d.ts +0 -12
  772. package/dist/v2/features/editor/helpers/json/create-json-model.d.ts.map +0 -1
  773. package/dist/v2/features/editor/helpers/json/create-json-model.js +0 -31
  774. package/dist/v2/features/editor/helpers/json/create-json-model.js.map +0 -1
  775. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts +0 -14
  776. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts.map +0 -1
  777. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js +0 -22
  778. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js.map +0 -1
  779. package/dist/v2/features/editor/helpers/json/json-ast.d.ts +0 -12
  780. package/dist/v2/features/editor/helpers/json/json-ast.d.ts.map +0 -1
  781. package/dist/v2/features/editor/helpers/json/json-ast.js +0 -32
  782. package/dist/v2/features/editor/helpers/json/json-ast.js.map +0 -1
  783. package/dist/v2/features/editor/helpers/json/json-pointer-links.d.ts +0 -15
  784. package/dist/v2/features/editor/helpers/json/json-pointer-links.d.ts.map +0 -1
  785. package/dist/v2/features/editor/helpers/json/json-pointer-links.js +0 -104
  786. package/dist/v2/features/editor/helpers/json/json-pointer-links.js.map +0 -1
  787. package/dist/v2/features/editor/helpers/json/json-pointer-path.d.ts +0 -7
  788. package/dist/v2/features/editor/helpers/json/json-pointer-path.d.ts.map +0 -1
  789. package/dist/v2/features/editor/helpers/json/json-pointer-path.js +0 -27
  790. package/dist/v2/features/editor/helpers/json/json-pointer-path.js.map +0 -1
  791. package/dist/v2/features/editor/helpers/model.d.ts +0 -9
  792. package/dist/v2/features/editor/helpers/model.d.ts.map +0 -1
  793. package/dist/v2/features/editor/helpers/range-to-whole-line.d.ts +0 -14
  794. package/dist/v2/features/editor/helpers/range-to-whole-line.d.ts.map +0 -1
  795. package/dist/v2/features/editor/helpers/range-to-whole-line.js +0 -27
  796. package/dist/v2/features/editor/helpers/range-to-whole-line.js.map +0 -1
  797. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.d.ts +0 -16
  798. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.d.ts.map +0 -1
  799. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js +0 -84
  800. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js.map +0 -1
  801. package/dist/v2/features/editor/helpers/theme/load-css-variables.d.ts +0 -36
  802. package/dist/v2/features/editor/helpers/theme/load-css-variables.d.ts.map +0 -1
  803. package/dist/v2/features/editor/helpers/theme/load-css-variables.js +0 -117
  804. package/dist/v2/features/editor/helpers/theme/load-css-variables.js.map +0 -1
  805. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.d.ts +0 -13
  806. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.d.ts.map +0 -1
  807. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js +0 -32
  808. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js.map +0 -1
  809. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.d.ts +0 -19
  810. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.d.ts.map +0 -1
  811. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js +0 -70
  812. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js.map +0 -1
  813. package/dist/v2/features/editor/hooks/use-editor-markers.d.ts +0 -152
  814. package/dist/v2/features/editor/hooks/use-editor-markers.d.ts.map +0 -1
  815. package/dist/v2/features/editor/hooks/use-editor-markers.js +0 -37
  816. package/dist/v2/features/editor/hooks/use-editor-markers.js.map +0 -1
  817. package/dist/v2/features/editor/hooks/use-editor.d.ts +0 -39
  818. package/dist/v2/features/editor/hooks/use-editor.d.ts.map +0 -1
  819. package/dist/v2/features/editor/hooks/use-editor.js +0 -133
  820. package/dist/v2/features/editor/hooks/use-editor.js.map +0 -1
  821. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.d.ts +0 -16
  822. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.d.ts.map +0 -1
  823. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js +0 -45
  824. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js.map +0 -1
  825. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.d.ts +0 -77
  826. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.d.ts.map +0 -1
  827. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js +0 -396
  828. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js.map +0 -1
  829. package/dist/v2/features/editor/index.d.ts +0 -5
  830. package/dist/v2/features/editor/index.d.ts.map +0 -1
  831. package/dist/v2/features/editor/index.js +0 -5
  832. package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js +0 -51
  833. package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js.map +0 -1
  834. package/dist/v2/features/global-cookies/components/CookiesTable.vue.d.ts +0 -10
  835. package/dist/v2/features/global-cookies/components/CookiesTable.vue.d.ts.map +0 -1
  836. package/dist/v2/features/global-cookies/components/CookiesTable.vue.js +0 -9
  837. package/dist/v2/features/global-cookies/components/CookiesTable.vue.js.map +0 -1
  838. package/dist/v2/features/global-cookies/components/CookiesTable.vue.script.js +0 -188
  839. package/dist/v2/features/global-cookies/components/CookiesTable.vue.script.js.map +0 -1
  840. package/dist/v2/features/global-cookies/index.d.ts +0 -2
  841. package/dist/v2/features/global-cookies/index.d.ts.map +0 -1
  842. package/dist/v2/features/global-cookies/index.js +0 -2
  843. package/dist/v2/features/settings/CollectionSettings.vue.d.ts +0 -28
  844. package/dist/v2/features/settings/CollectionSettings.vue.d.ts.map +0 -1
  845. package/dist/v2/features/settings/CollectionSettings.vue.js +0 -7
  846. package/dist/v2/features/settings/CollectionSettings.vue.js.map +0 -1
  847. package/dist/v2/features/settings/CollectionSettings.vue.script.js +0 -229
  848. package/dist/v2/features/settings/CollectionSettings.vue.script.js.map +0 -1
  849. package/dist/v2/features/settings/DocumentSettings.vue.d.ts +0 -20
  850. package/dist/v2/features/settings/DocumentSettings.vue.d.ts.map +0 -1
  851. package/dist/v2/features/settings/DocumentSettings.vue.js +0 -7
  852. package/dist/v2/features/settings/DocumentSettings.vue.js.map +0 -1
  853. package/dist/v2/features/settings/DocumentSettings.vue.script.js +0 -92
  854. package/dist/v2/features/settings/DocumentSettings.vue.script.js.map +0 -1
  855. package/dist/v2/features/settings/components/Appearance.vue.d.ts +0 -11
  856. package/dist/v2/features/settings/components/Appearance.vue.d.ts.map +0 -1
  857. package/dist/v2/features/settings/components/Appearance.vue.js +0 -7
  858. package/dist/v2/features/settings/components/Appearance.vue.js.map +0 -1
  859. package/dist/v2/features/settings/components/Appearance.vue.script.js +0 -63
  860. package/dist/v2/features/settings/components/Appearance.vue.script.js.map +0 -1
  861. package/dist/v2/features/settings/components/Section.vue.d.ts +0 -16
  862. package/dist/v2/features/settings/components/Section.vue.d.ts.map +0 -1
  863. package/dist/v2/features/settings/components/Section.vue.js +0 -7
  864. package/dist/v2/features/settings/components/Section.vue.js.map +0 -1
  865. package/dist/v2/features/settings/components/Section.vue.script.js +0 -30
  866. package/dist/v2/features/settings/components/Section.vue.script.js.map +0 -1
  867. package/dist/v2/features/settings/helpers/get-theme-colors.d.ts +0 -10
  868. package/dist/v2/features/settings/helpers/get-theme-colors.d.ts.map +0 -1
  869. package/dist/v2/features/settings/helpers/get-theme-colors.js +0 -68
  870. package/dist/v2/features/settings/helpers/get-theme-colors.js.map +0 -1
  871. package/dist/v2/features/settings/index.d.ts +0 -3
  872. package/dist/v2/features/settings/index.d.ts.map +0 -1
  873. package/dist/v2/features/settings/index.js +0 -3
  874. package/dist/v2/helpers/download-document.d.ts +0 -2
  875. package/dist/v2/helpers/download-document.d.ts.map +0 -1
  876. package/dist/v2/helpers/download-document.js +0 -42
  877. package/dist/v2/helpers/download-document.js.map +0 -1
  878. package/dist/v2/helpers/drag-handle-factory.d.ts +0 -16
  879. package/dist/v2/helpers/drag-handle-factory.d.ts.map +0 -1
  880. package/dist/v2/helpers/drag-handle-factory.js +0 -258
  881. package/dist/v2/helpers/drag-handle-factory.js.map +0 -1
  882. package/dist/v2/helpers/get-tab-details.d.ts +0 -43
  883. package/dist/v2/helpers/get-tab-details.d.ts.map +0 -1
  884. package/dist/v2/helpers/get-tab-details.js +0 -54
  885. package/dist/v2/helpers/get-tab-details.js.map +0 -1
  886. package/dist/v2/helpers/is-url.d.ts +0 -2
  887. package/dist/v2/helpers/is-url.d.ts.map +0 -1
  888. package/dist/v2/helpers/is-url.js +0 -10
  889. package/dist/v2/helpers/is-url.js.map +0 -1
  890. package/dist/v2/helpers/safe-run.d.ts +0 -34
  891. package/dist/v2/helpers/safe-run.d.ts.map +0 -1
  892. package/dist/v2/helpers/safe-run.js +0 -43
  893. package/dist/v2/helpers/safe-run.js.map +0 -1
  894. package/dist/v2/helpers/storage.d.ts +0 -31
  895. package/dist/v2/helpers/storage.d.ts.map +0 -1
  896. package/dist/v2/helpers/storage.js +0 -37
  897. package/dist/v2/helpers/storage.js.map +0 -1
  898. package/dist/v2/hooks/use-color-mode.d.ts +0 -20
  899. package/dist/v2/hooks/use-color-mode.d.ts.map +0 -1
  900. package/dist/v2/hooks/use-color-mode.js +0 -72
  901. package/dist/v2/hooks/use-color-mode.js.map +0 -1
  902. package/dist/v2/types/configuration.d.ts +0 -278
  903. package/dist/v2/types/configuration.d.ts.map +0 -1
  904. /package/dist/components/{ScalarAsciiArt.vue.d.ts → ScalarAsciiArt/ScalarAsciiArt.vue.d.ts} +0 -0
  905. /package/dist/{index.js → types/index.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"RequestBody.vue.js","names":[],"sources":["../../../../../src/v2/blocks/request-block/components/RequestBody.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton, ScalarIcon, ScalarListbox } from '@scalar/components'\nimport { CONTENT_TYPES } from '@scalar/helpers/http/content-types'\nimport { objectEntries } from '@scalar/helpers/object/object-entries'\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport {\n getExampleFromBody,\n getSelectedBodyContentType,\n} from '@scalar/workspace-store/request-example'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n RequestBodyObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { useFileDialog } from '@/hooks/use-file-dialog'\nimport RequestBodyForm from '@/v2/blocks/request-block/components/RequestBodyForm.vue'\nimport { getFileName } from '@/v2/blocks/request-block/helpers/files'\nimport { CodeInput } from '@/v2/components/code-input'\nimport {\n DataTable,\n DataTableHeader,\n DataTableRow,\n} from '@/v2/components/data-table'\nimport { CollapsibleSection } from '@/v2/components/layout'\n\nconst {\n requestBody,\n exampleKey,\n environment,\n requestBodyCompositionSelection,\n title,\n} = defineProps<{\n /** Request body */\n requestBody?: RequestBodyObject\n /** Currently selected example key for the current operation */\n exampleKey: string\n /** Display title */\n title: string\n /** Selected environment */\n environment: XScalarEnvironment\n /** Selected anyOf/oneOf request-body variants keyed by schema path */\n requestBodyCompositionSelection?: Record<string, number>\n}>()\n\nconst emits = defineEmits<{\n (e: 'update:contentType', payload: { value: string }): void\n /** We use this event to update raw values */\n (\n e: 'update:value',\n payload: Pick<\n ApiReferenceEvents['operation:update:requestBody:value'],\n 'payload' | 'contentType'\n >,\n ): void\n /** We use this event when updating form data only */\n (\n e: 'update:formValue',\n payload: Pick<\n ApiReferenceEvents['operation:update:requestBody:formValue'],\n 'payload' | 'contentType'\n >,\n ): void\n}>()\n\n// Map a content type to a language for the code editor\nconst contentTypeToLanguageMap = {\n 'application/json': 'json',\n 'application/xml': 'xml',\n 'application/yaml': 'yaml',\n} as const\n\n/** Selected content type with default */\nconst selectedContentType = computed(\n () => getSelectedBodyContentType(requestBody, exampleKey) ?? 'none',\n)\n\n/** Convert content types to options for the dropdown */\nconst contentTypeOptions = objectEntries(CONTENT_TYPES).map(([id, label]) => ({\n id,\n label,\n}))\n\nconst selectedContentTypeModel = computed<{ id: string; label: string }>({\n get: () => {\n const found = contentTypeOptions.find(\n (it) => it.id === selectedContentType.value,\n )\n return found ?? contentTypeOptions.at(-1)!\n },\n set: (v) => {\n emits('update:contentType', { value: v.id })\n },\n})\n\nfunction handleFileUpload(callback: (file: File) => void) {\n const { open } = useFileDialog({\n onChange: (files) => {\n const file = files?.[0]\n if (file) {\n callback(file)\n }\n },\n multiple: false,\n accept: '*/*',\n })\n open()\n}\n\n/** Dereferenced example */\nconst example = computed(\n () =>\n requestBody &&\n getExampleFromBody(\n requestBody,\n selectedContentType.value,\n exampleKey,\n requestBodyCompositionSelection,\n ),\n)\n\n/** Convert the example value to a string for the code editor */\nconst bodyValue = computed(() => {\n if (!example.value) {\n return ''\n }\n\n const value = example.value.value\n if (typeof value === 'string') {\n return value\n }\n\n return JSON.stringify(value, null, 2)\n})\n\n/** Resolved schema for the request body */\nconst bodySchema = computed<SchemaObject | undefined>(() => {\n return resolve.schema(\n requestBody?.content?.[selectedContentType.value]?.schema,\n )\n})\n</script>\n<template>\n <CollapsibleSection>\n <template #title>{{ title }}</template>\n <DataTable\n :columns=\"['']\"\n presentational>\n <DataTableHeader\n class=\"relative col-span-full flex h-8 cursor-pointer items-center justify-between border-r-0 !p-0\">\n <ScalarListbox\n v-model=\"selectedContentTypeModel\"\n :options=\"contentTypeOptions\"\n teleport>\n <ScalarButton\n class=\"text-c-2 hover:text-c-1 flex h-full w-fit gap-1.5 px-3 font-normal\"\n fullWidth\n variant=\"ghost\">\n <span>{{\n CONTENT_TYPES[\n selectedContentType as keyof typeof CONTENT_TYPES\n ] ?? selectedContentType\n }}</span>\n <ScalarIcon\n icon=\"ChevronDown\"\n size=\"md\" />\n </ScalarButton>\n </ScalarListbox>\n </DataTableHeader>\n <DataTableRow>\n <!-- No Body -->\n <template v-if=\"selectedContentType === 'none'\">\n <div\n class=\"text-c-3 flex min-h-10 w-full items-center justify-center border-t p-2 text-sm\">\n <span>No Body</span>\n </div>\n </template>\n\n <!-- Binary File -->\n <template\n v-else-if=\"selectedContentType === 'application/octet-stream'\">\n <div\n class=\"flex items-center justify-center overflow-hidden border-t p-1.5\">\n <template\n v-if=\"\n getFileName(unpackProxyObject(example?.value)) !== undefined\n \">\n <span\n class=\"text-c-2 w-full max-w-full overflow-hidden rounded border px-1.5 py-1 text-xs whitespace-nowrap\">\n {{ getFileName(unpackProxyObject(example?.value)) }}\n </span>\n <ScalarButton\n class=\"bg-b-2 hover:bg-b-3 text-c-2 ml-1 border-0 shadow-none\"\n size=\"sm\"\n variant=\"outlined\"\n @click=\"\n emits('update:value', {\n payload: undefined,\n contentType: selectedContentType,\n })\n \">\n Delete\n </ScalarButton>\n </template>\n <template v-else>\n <ScalarButton\n class=\"bg-b-2 hover:bg-b-3 text-c-2 border-0 shadow-none\"\n size=\"sm\"\n variant=\"outlined\"\n @click=\"\n () =>\n handleFileUpload((file) =>\n emits('update:value', {\n payload: file,\n contentType: selectedContentType,\n }),\n )\n \">\n <span>Select File</span>\n <ScalarIcon\n class=\"ml-1\"\n icon=\"Upload\"\n size=\"xs\"\n thickness=\"2.5\" />\n </ScalarButton>\n </template>\n </div>\n </template>\n\n <!-- Form Data / URL Encoded -->\n <template\n v-else-if=\"\n selectedContentType === 'multipart/form-data' ||\n selectedContentType === 'application/x-www-form-urlencoded'\n \">\n <RequestBodyForm\n :bodySchema\n :environment\n :example\n :selectedContentType\n @update:formValue=\"\n (payload) =>\n emits('update:formValue', {\n payload,\n contentType: selectedContentType,\n })\n \" />\n </template>\n\n <!-- Code/Other -->\n <template v-else>\n <CodeInput\n class=\"border-t px-3\"\n content=\"\"\n :environment=\"environment\"\n :language=\"\n contentTypeToLanguageMap[\n selectedContentType as keyof typeof contentTypeToLanguageMap\n ] ?? 'plaintext'\n \"\n lineNumbers\n lint\n :modelValue=\"bodyValue\"\n withFakeData\n @update:modelValue=\"\n (value) =>\n emits('update:value', {\n payload: value,\n contentType: selectedContentType,\n })\n \" />\n </template>\n </DataTableRow>\n </DataTable>\n </CollapsibleSection>\n</template>\n<style scoped>\n:deep(.cm-content) {\n font-size: var(--scalar-small);\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"RequestBody.vue.js","names":[],"sources":["../../../../../src/v2/blocks/request-block/components/RequestBody.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton, ScalarIcon, ScalarListbox } from '@scalar/components'\nimport { CONTENT_TYPES } from '@scalar/helpers/http/content-types'\nimport { parseMimeType } from '@scalar/helpers/http/mime-type'\nimport { objectEntries } from '@scalar/helpers/object/object-entries'\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport {\n getExampleFromBody,\n getSelectedBodyContentType,\n} from '@scalar/workspace-store/request-example'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n RequestBodyObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { useFileDialog } from '@/hooks/use-file-dialog'\nimport RequestBodyForm from '@/v2/blocks/request-block/components/RequestBodyForm.vue'\nimport { getFileName } from '@/v2/blocks/request-block/helpers/files'\nimport { CodeInput } from '@/v2/components/code-input'\nimport {\n DataTable,\n DataTableHeader,\n DataTableRow,\n} from '@/v2/components/data-table'\nimport { CollapsibleSection } from '@/v2/components/layout'\n\nconst {\n requestBody,\n exampleKey,\n environment,\n requestBodyCompositionSelection,\n title,\n} = defineProps<{\n /** Request body */\n requestBody?: RequestBodyObject\n /** Currently selected example key for the current operation */\n exampleKey: string\n /** Display title */\n title: string\n /** Selected environment */\n environment: XScalarEnvironment\n /** Selected anyOf/oneOf request-body variants keyed by schema path */\n requestBodyCompositionSelection?: Record<string, number>\n}>()\n\nconst emits = defineEmits<{\n (e: 'update:contentType', payload: { value: string }): void\n /** We use this event to update raw values */\n (\n e: 'update:value',\n payload: Pick<\n ApiReferenceEvents['operation:update:requestBody:value'],\n 'payload' | 'contentType'\n >,\n ): void\n /** We use this event when updating form data only */\n (\n e: 'update:formValue',\n payload: Pick<\n ApiReferenceEvents['operation:update:requestBody:formValue'],\n 'payload' | 'contentType'\n >,\n ): void\n}>()\n\n// Map a content type to a language for the code editor\nconst contentTypeToLanguageMap = {\n 'application/json': 'json',\n 'application/xml': 'xml',\n 'application/yaml': 'yaml',\n} as const\n\n/** Selected content type with default */\nconst selectedContentType = computed(\n () => getSelectedBodyContentType(requestBody, exampleKey) ?? 'none',\n)\n\n/**\n * Strips MIME parameters (such as `charset=utf-8`) for dropdown labels, aligned with how we treat\n * media types elsewhere (see api-reference `normalizeMimeType` / WHATWG essence).\n */\nconst contentTypeLabel = (raw: string): string => parseMimeType(raw).essence\n\n/**\n * Build the dropdown options for the content type selector.\n *\n * The list is composed of two groups:\n * 1. The built-in content types we ship friendly labels for (JSON, XML, Multipart Form, etc.).\n * 2. Any additional content types defined on the OpenAPI request body that are not in the built-in list\n * (for example `text/csv`, `application/pdf`, vendor types like `application/vnd.api+json`, ...).\n *\n * The OpenAPI-defined extras are appended at the bottom so the well-known options stay on top, and\n * users can always pick the exact content type the operation actually accepts.\n */\nconst contentTypeOptions = computed<{ id: string; label: string }[]>(() => {\n const builtIn = objectEntries(CONTENT_TYPES).map(([id, label]) => ({\n id,\n label,\n }))\n\n const extras = Object.keys(requestBody?.content ?? {})\n .filter((type) => {\n if (type in CONTENT_TYPES) {\n return false\n }\n // Same essence as a built-in (e.g. `application/json; charset=utf-8`) — do not duplicate the row.\n return !(contentTypeLabel(type) in CONTENT_TYPES)\n })\n .map((type) => ({ id: type, label: contentTypeLabel(type) }))\n\n return [...builtIn, ...extras]\n})\n\nconst selectedContentTypeModel = computed<{ id: string; label: string }>({\n get: () => {\n const found = contentTypeOptions.value.find(\n (it) => it.id === selectedContentType.value,\n )\n if (found) {\n return found\n }\n\n const essence = contentTypeLabel(selectedContentType.value)\n const friendly =\n CONTENT_TYPES[essence as keyof typeof CONTENT_TYPES] ?? essence\n\n return {\n id: selectedContentType.value,\n label: friendly,\n }\n },\n set: (v) => {\n emits('update:contentType', { value: v.id })\n },\n})\n\nfunction handleFileUpload(callback: (file: File) => void) {\n const { open } = useFileDialog({\n onChange: (files) => {\n const file = files?.[0]\n if (file) {\n callback(file)\n }\n },\n multiple: false,\n accept: '*/*',\n })\n open()\n}\n\n/** Dereferenced example */\nconst example = computed(\n () =>\n requestBody &&\n getExampleFromBody(\n requestBody,\n selectedContentType.value,\n exampleKey,\n requestBodyCompositionSelection,\n ),\n)\n\n/** Convert the example value to a string for the code editor */\nconst bodyValue = computed(() => {\n if (!example.value) {\n return ''\n }\n\n const value = example.value.value\n if (typeof value === 'string') {\n return value\n }\n\n return JSON.stringify(value, null, 2)\n})\n\n/** Resolved schema for the request body */\nconst bodySchema = computed<SchemaObject | undefined>(() => {\n return resolve.schema(\n requestBody?.content?.[selectedContentType.value]?.schema,\n )\n})\n</script>\n<template>\n <CollapsibleSection>\n <template #title>{{ title }}</template>\n <DataTable\n :columns=\"['']\"\n presentational>\n <DataTableHeader\n class=\"relative col-span-full flex h-8 cursor-pointer items-center justify-between border-r-0 !p-0\">\n <ScalarListbox\n v-model=\"selectedContentTypeModel\"\n :options=\"contentTypeOptions\"\n teleport>\n <ScalarButton\n class=\"text-c-2 hover:text-c-1 flex h-full w-fit gap-1.5 px-3 font-normal\"\n fullWidth\n variant=\"ghost\">\n <span>{{ selectedContentTypeModel.label }}</span>\n <ScalarIcon\n icon=\"ChevronDown\"\n size=\"md\" />\n </ScalarButton>\n </ScalarListbox>\n </DataTableHeader>\n <DataTableRow>\n <!-- No Body -->\n <template v-if=\"selectedContentType === 'none'\">\n <div\n class=\"text-c-3 flex min-h-10 w-full items-center justify-center border-t p-2 text-sm\">\n <span>No Body</span>\n </div>\n </template>\n\n <!-- Binary File -->\n <template\n v-else-if=\"selectedContentType === 'application/octet-stream'\">\n <div\n class=\"flex items-center justify-center overflow-hidden border-t p-1.5\">\n <template\n v-if=\"\n getFileName(unpackProxyObject(example?.value)) !== undefined\n \">\n <span\n class=\"text-c-2 w-full max-w-full overflow-hidden rounded border px-1.5 py-1 text-xs whitespace-nowrap\">\n {{ getFileName(unpackProxyObject(example?.value)) }}\n </span>\n <ScalarButton\n class=\"bg-b-2 hover:bg-b-3 text-c-2 ml-1 border-0 shadow-none\"\n size=\"sm\"\n variant=\"outlined\"\n @click=\"\n emits('update:value', {\n payload: undefined,\n contentType: selectedContentType,\n })\n \">\n Delete\n </ScalarButton>\n </template>\n <template v-else>\n <ScalarButton\n class=\"bg-b-2 hover:bg-b-3 text-c-2 border-0 shadow-none\"\n size=\"sm\"\n variant=\"outlined\"\n @click=\"\n () =>\n handleFileUpload((file) =>\n emits('update:value', {\n payload: file,\n contentType: selectedContentType,\n }),\n )\n \">\n <span>Select File</span>\n <ScalarIcon\n class=\"ml-1\"\n icon=\"Upload\"\n size=\"xs\"\n thickness=\"2.5\" />\n </ScalarButton>\n </template>\n </div>\n </template>\n\n <!-- Form Data / URL Encoded -->\n <template\n v-else-if=\"\n selectedContentType === 'multipart/form-data' ||\n selectedContentType === 'application/x-www-form-urlencoded'\n \">\n <RequestBodyForm\n :bodySchema\n :environment\n :example\n :selectedContentType\n @update:formValue=\"\n (payload) =>\n emits('update:formValue', {\n payload,\n contentType: selectedContentType,\n })\n \" />\n </template>\n\n <!-- Code/Other -->\n <template v-else>\n <CodeInput\n class=\"border-t px-3\"\n content=\"\"\n :environment=\"environment\"\n :language=\"\n contentTypeToLanguageMap[\n selectedContentType as keyof typeof contentTypeToLanguageMap\n ] ?? 'plaintext'\n \"\n lineNumbers\n lint\n :modelValue=\"bodyValue\"\n withFakeData\n @update:modelValue=\"\n (value) =>\n emits('update:value', {\n payload: value,\n contentType: selectedContentType,\n })\n \" />\n </template>\n </DataTableRow>\n </DataTable>\n </CollapsibleSection>\n</template>\n<style scoped>\n:deep(.cm-content) {\n font-size: var(--scalar-small);\n}\n</style>\n"],"mappings":""}
@@ -1,17 +1,18 @@
1
1
  import { useFileDialog } from "../../../../hooks/use-file-dialog.js";
2
- import { getFileName } from "../helpers/files.js";
3
2
  import CodeInput_default from "../../../components/code-input/CodeInput.vue.js";
4
3
  import DataTable_default from "../../../components/data-table/DataTable.vue.js";
5
4
  import DataTableHeader_default from "../../../components/data-table/DataTableHeader.vue.js";
6
5
  import DataTableRow_default from "../../../components/data-table/DataTableRow.vue.js";
6
+ import { getFileName } from "../helpers/files.js";
7
7
  import RequestBodyForm_default from "./RequestBodyForm.vue.js";
8
8
  import CollapsibleSection_default from "../../../components/layout/CollapsibleSection.vue.js";
9
9
  import { Fragment, computed, createBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, toDisplayString, unref, withCtx } from "vue";
10
10
  import { ScalarButton, ScalarIcon, ScalarListbox } from "@scalar/components";
11
+ import { objectEntries } from "@scalar/helpers/object/object-entries";
11
12
  import { getExampleFromBody, getSelectedBodyContentType } from "@scalar/workspace-store/request-example";
13
+ import { parseMimeType } from "@scalar/helpers/http/mime-type";
12
14
  import { unpackProxyObject } from "@scalar/workspace-store/helpers/unpack-proxy";
13
15
  import { CONTENT_TYPES } from "@scalar/helpers/http/content-types";
14
- import { objectEntries } from "@scalar/helpers/object/object-entries";
15
16
  import { resolve } from "@scalar/workspace-store/resolve";
16
17
  //#region src/v2/blocks/request-block/components/RequestBody.vue?vue&type=script&setup=true&lang.ts
17
18
  var _hoisted_1 = {
@@ -46,14 +47,46 @@ var RequestBody_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
46
47
  };
47
48
  /** Selected content type with default */
48
49
  const selectedContentType = computed(() => getSelectedBodyContentType(__props.requestBody, __props.exampleKey) ?? "none");
49
- /** Convert content types to options for the dropdown */
50
- const contentTypeOptions = objectEntries(CONTENT_TYPES).map(([id, label]) => ({
51
- id,
52
- label
53
- }));
50
+ /**
51
+ * Strips MIME parameters (such as `charset=utf-8`) for dropdown labels, aligned with how we treat
52
+ * media types elsewhere (see api-reference `normalizeMimeType` / WHATWG essence).
53
+ */
54
+ const contentTypeLabel = (raw) => parseMimeType(raw).essence;
55
+ /**
56
+ * Build the dropdown options for the content type selector.
57
+ *
58
+ * The list is composed of two groups:
59
+ * 1. The built-in content types we ship friendly labels for (JSON, XML, Multipart Form, etc.).
60
+ * 2. Any additional content types defined on the OpenAPI request body that are not in the built-in list
61
+ * (for example `text/csv`, `application/pdf`, vendor types like `application/vnd.api+json`, ...).
62
+ *
63
+ * The OpenAPI-defined extras are appended at the bottom so the well-known options stay on top, and
64
+ * users can always pick the exact content type the operation actually accepts.
65
+ */
66
+ const contentTypeOptions = computed(() => {
67
+ const builtIn = objectEntries(CONTENT_TYPES).map(([id, label]) => ({
68
+ id,
69
+ label
70
+ }));
71
+ const extras = Object.keys(__props.requestBody?.content ?? {}).filter((type) => {
72
+ if (type in CONTENT_TYPES) return false;
73
+ return !(contentTypeLabel(type) in CONTENT_TYPES);
74
+ }).map((type) => ({
75
+ id: type,
76
+ label: contentTypeLabel(type)
77
+ }));
78
+ return [...builtIn, ...extras];
79
+ });
54
80
  const selectedContentTypeModel = computed({
55
81
  get: () => {
56
- return contentTypeOptions.find((it) => it.id === selectedContentType.value) ?? contentTypeOptions.at(-1);
82
+ const found = contentTypeOptions.value.find((it) => it.id === selectedContentType.value);
83
+ if (found) return found;
84
+ const essence = contentTypeLabel(selectedContentType.value);
85
+ const friendly = CONTENT_TYPES[essence] ?? essence;
86
+ return {
87
+ id: selectedContentType.value,
88
+ label: friendly
89
+ };
57
90
  },
58
91
  set: (v) => {
59
92
  emits("update:contentType", { value: v.id });
@@ -94,7 +127,7 @@ var RequestBody_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
94
127
  default: withCtx(() => [createVNode(unref(ScalarListbox), {
95
128
  modelValue: selectedContentTypeModel.value,
96
129
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => selectedContentTypeModel.value = $event),
97
- options: unref(contentTypeOptions),
130
+ options: contentTypeOptions.value,
98
131
  teleport: ""
99
132
  }, {
100
133
  default: withCtx(() => [createVNode(unref(ScalarButton), {
@@ -102,7 +135,7 @@ var RequestBody_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
102
135
  fullWidth: "",
103
136
  variant: "ghost"
104
137
  }, {
105
- default: withCtx(() => [createElementVNode("span", null, toDisplayString(unref(CONTENT_TYPES)[selectedContentType.value] ?? selectedContentType.value), 1), createVNode(unref(ScalarIcon), {
138
+ default: withCtx(() => [createElementVNode("span", null, toDisplayString(selectedContentTypeModel.value.label), 1), createVNode(unref(ScalarIcon), {
106
139
  icon: "ChevronDown",
107
140
  size: "md"
108
141
  })]),
@@ -1 +1 @@
1
- {"version":3,"file":"RequestBody.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/request-block/components/RequestBody.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton, ScalarIcon, ScalarListbox } from '@scalar/components'\nimport { CONTENT_TYPES } from '@scalar/helpers/http/content-types'\nimport { objectEntries } from '@scalar/helpers/object/object-entries'\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport {\n getExampleFromBody,\n getSelectedBodyContentType,\n} from '@scalar/workspace-store/request-example'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n RequestBodyObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { useFileDialog } from '@/hooks/use-file-dialog'\nimport RequestBodyForm from '@/v2/blocks/request-block/components/RequestBodyForm.vue'\nimport { getFileName } from '@/v2/blocks/request-block/helpers/files'\nimport { CodeInput } from '@/v2/components/code-input'\nimport {\n DataTable,\n DataTableHeader,\n DataTableRow,\n} from '@/v2/components/data-table'\nimport { CollapsibleSection } from '@/v2/components/layout'\n\nconst {\n requestBody,\n exampleKey,\n environment,\n requestBodyCompositionSelection,\n title,\n} = defineProps<{\n /** Request body */\n requestBody?: RequestBodyObject\n /** Currently selected example key for the current operation */\n exampleKey: string\n /** Display title */\n title: string\n /** Selected environment */\n environment: XScalarEnvironment\n /** Selected anyOf/oneOf request-body variants keyed by schema path */\n requestBodyCompositionSelection?: Record<string, number>\n}>()\n\nconst emits = defineEmits<{\n (e: 'update:contentType', payload: { value: string }): void\n /** We use this event to update raw values */\n (\n e: 'update:value',\n payload: Pick<\n ApiReferenceEvents['operation:update:requestBody:value'],\n 'payload' | 'contentType'\n >,\n ): void\n /** We use this event when updating form data only */\n (\n e: 'update:formValue',\n payload: Pick<\n ApiReferenceEvents['operation:update:requestBody:formValue'],\n 'payload' | 'contentType'\n >,\n ): void\n}>()\n\n// Map a content type to a language for the code editor\nconst contentTypeToLanguageMap = {\n 'application/json': 'json',\n 'application/xml': 'xml',\n 'application/yaml': 'yaml',\n} as const\n\n/** Selected content type with default */\nconst selectedContentType = computed(\n () => getSelectedBodyContentType(requestBody, exampleKey) ?? 'none',\n)\n\n/** Convert content types to options for the dropdown */\nconst contentTypeOptions = objectEntries(CONTENT_TYPES).map(([id, label]) => ({\n id,\n label,\n}))\n\nconst selectedContentTypeModel = computed<{ id: string; label: string }>({\n get: () => {\n const found = contentTypeOptions.find(\n (it) => it.id === selectedContentType.value,\n )\n return found ?? contentTypeOptions.at(-1)!\n },\n set: (v) => {\n emits('update:contentType', { value: v.id })\n },\n})\n\nfunction handleFileUpload(callback: (file: File) => void) {\n const { open } = useFileDialog({\n onChange: (files) => {\n const file = files?.[0]\n if (file) {\n callback(file)\n }\n },\n multiple: false,\n accept: '*/*',\n })\n open()\n}\n\n/** Dereferenced example */\nconst example = computed(\n () =>\n requestBody &&\n getExampleFromBody(\n requestBody,\n selectedContentType.value,\n exampleKey,\n requestBodyCompositionSelection,\n ),\n)\n\n/** Convert the example value to a string for the code editor */\nconst bodyValue = computed(() => {\n if (!example.value) {\n return ''\n }\n\n const value = example.value.value\n if (typeof value === 'string') {\n return value\n }\n\n return JSON.stringify(value, null, 2)\n})\n\n/** Resolved schema for the request body */\nconst bodySchema = computed<SchemaObject | undefined>(() => {\n return resolve.schema(\n requestBody?.content?.[selectedContentType.value]?.schema,\n )\n})\n</script>\n<template>\n <CollapsibleSection>\n <template #title>{{ title }}</template>\n <DataTable\n :columns=\"['']\"\n presentational>\n <DataTableHeader\n class=\"relative col-span-full flex h-8 cursor-pointer items-center justify-between border-r-0 !p-0\">\n <ScalarListbox\n v-model=\"selectedContentTypeModel\"\n :options=\"contentTypeOptions\"\n teleport>\n <ScalarButton\n class=\"text-c-2 hover:text-c-1 flex h-full w-fit gap-1.5 px-3 font-normal\"\n fullWidth\n variant=\"ghost\">\n <span>{{\n CONTENT_TYPES[\n selectedContentType as keyof typeof CONTENT_TYPES\n ] ?? selectedContentType\n }}</span>\n <ScalarIcon\n icon=\"ChevronDown\"\n size=\"md\" />\n </ScalarButton>\n </ScalarListbox>\n </DataTableHeader>\n <DataTableRow>\n <!-- No Body -->\n <template v-if=\"selectedContentType === 'none'\">\n <div\n class=\"text-c-3 flex min-h-10 w-full items-center justify-center border-t p-2 text-sm\">\n <span>No Body</span>\n </div>\n </template>\n\n <!-- Binary File -->\n <template\n v-else-if=\"selectedContentType === 'application/octet-stream'\">\n <div\n class=\"flex items-center justify-center overflow-hidden border-t p-1.5\">\n <template\n v-if=\"\n getFileName(unpackProxyObject(example?.value)) !== undefined\n \">\n <span\n class=\"text-c-2 w-full max-w-full overflow-hidden rounded border px-1.5 py-1 text-xs whitespace-nowrap\">\n {{ getFileName(unpackProxyObject(example?.value)) }}\n </span>\n <ScalarButton\n class=\"bg-b-2 hover:bg-b-3 text-c-2 ml-1 border-0 shadow-none\"\n size=\"sm\"\n variant=\"outlined\"\n @click=\"\n emits('update:value', {\n payload: undefined,\n contentType: selectedContentType,\n })\n \">\n Delete\n </ScalarButton>\n </template>\n <template v-else>\n <ScalarButton\n class=\"bg-b-2 hover:bg-b-3 text-c-2 border-0 shadow-none\"\n size=\"sm\"\n variant=\"outlined\"\n @click=\"\n () =>\n handleFileUpload((file) =>\n emits('update:value', {\n payload: file,\n contentType: selectedContentType,\n }),\n )\n \">\n <span>Select File</span>\n <ScalarIcon\n class=\"ml-1\"\n icon=\"Upload\"\n size=\"xs\"\n thickness=\"2.5\" />\n </ScalarButton>\n </template>\n </div>\n </template>\n\n <!-- Form Data / URL Encoded -->\n <template\n v-else-if=\"\n selectedContentType === 'multipart/form-data' ||\n selectedContentType === 'application/x-www-form-urlencoded'\n \">\n <RequestBodyForm\n :bodySchema\n :environment\n :example\n :selectedContentType\n @update:formValue=\"\n (payload) =>\n emits('update:formValue', {\n payload,\n contentType: selectedContentType,\n })\n \" />\n </template>\n\n <!-- Code/Other -->\n <template v-else>\n <CodeInput\n class=\"border-t px-3\"\n content=\"\"\n :environment=\"environment\"\n :language=\"\n contentTypeToLanguageMap[\n selectedContentType as keyof typeof contentTypeToLanguageMap\n ] ?? 'plaintext'\n \"\n lineNumbers\n lint\n :modelValue=\"bodyValue\"\n withFakeData\n @update:modelValue=\"\n (value) =>\n emits('update:value', {\n payload: value,\n contentType: selectedContentType,\n })\n \" />\n </template>\n </DataTableRow>\n </DataTable>\n </CollapsibleSection>\n</template>\n<style scoped>\n:deep(.cm-content) {\n font-size: var(--scalar-small);\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDA,MAAM,QAAQ;EAqBd,MAAM,2BAA2B;GAC/B,oBAAoB;GACpB,mBAAmB;GACnB,oBAAoB;GACrB;;EAGD,MAAM,sBAAsB,eACpB,2BAA2B,QAAA,aAAa,QAAA,WAAW,IAAI,OAC/D;;EAGA,MAAM,qBAAqB,cAAc,cAAc,CAAC,KAAK,CAAC,IAAI,YAAY;GAC5E;GACA;GACD,EAAC;EAEF,MAAM,2BAA2B,SAAwC;GACvE,WAAW;AAIT,WAHc,mBAAmB,MAC9B,OAAO,GAAG,OAAO,oBAAoB,MACxC,IACgB,mBAAmB,GAAG,GAAG;;GAE3C,MAAM,MAAM;AACV,UAAM,sBAAsB,EAAE,OAAO,EAAE,IAAI,CAAA;;GAE9C,CAAA;EAED,SAAS,iBAAiB,UAAgC;GACxD,MAAM,EAAE,SAAS,cAAc;IAC7B,WAAW,UAAU;KACnB,MAAM,OAAO,QAAQ;AACrB,SAAI,KACF,UAAS,KAAI;;IAGjB,UAAU;IACV,QAAQ;IACT,CAAA;AACD,SAAK;;;EAIP,MAAM,UAAU,eAEZ,QAAA,eACA,mBACE,QAAA,aACA,oBAAoB,OACpB,QAAA,YACA,QAAA,gCACD,CACL;;EAGA,MAAM,YAAY,eAAe;AAC/B,OAAI,CAAC,QAAQ,MACX,QAAO;GAGT,MAAM,QAAQ,QAAQ,MAAM;AAC5B,OAAI,OAAO,UAAU,SACnB,QAAO;AAGT,UAAO,KAAK,UAAU,OAAO,MAAM,EAAC;IACrC;;EAGD,MAAM,aAAa,eAAyC;AAC1D,UAAO,QAAQ,OACb,QAAA,aAAa,UAAU,oBAAoB,QAAQ,OACrD;IACD;;uBAGC,YAmIqB,MAAA,2BAAA,EAAA,MAAA;IAlIR,OAAK,cAAY,CAAA,gBAAA,gBAAR,QAAA,MAAK,EAAA,EAAA,CAAA,CAAA;2BAiIb,CAhIZ,YAgIY,MAAA,kBAAA,EAAA;KA/HT,SAAS,CAAA,GAAI;KACd,gBAAA;;4BAqBkB,CApBlB,YAoBkB,MAAA,wBAAA,EAAA,EAnBhB,OAAM,+FAA6F,EAAA;6BAkBnF,CAjBhB,YAiBgB,MAAA,cAAA,EAAA;mBAhBL,yBAAA;6FAAwB,QAAA;OAChC,SAAS,MAAA,mBAAkB;OAC5B,UAAA;;8BAae,CAZf,YAYe,MAAA,aAAA,EAAA;QAXb,OAAM;QACN,WAAA;QACA,SAAQ;;+BAKC,CAJT,mBAIS,QAAA,MAAA,gBAHP,MAAA,cAAa,CAAkB,oBAAA,UAAqE,oBAAA,MAAmB,EAAA,EAAA,EAIzH,YAEc,MAAA,WAAA,EAAA;SADZ,MAAK;SACL,MAAK;;;;;;;SAIb,YAuGe,MAAA,qBAAA,EAAA,MAAA;6BAhGF,CALK,oBAAA,UAAmB,UAAA,WAAA,EACjC,mBAGM,OAHN,YAGM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CADJ,mBAAoB,QAAA,MAAd,WAAO,GAAA,CAAA,EAAA,CAAA,IAMJ,oBAAA,UAAmB,8BAAA,WAAA,EAC9B,mBA6CM,OA7CN,YA6CM,CA1CqB,MAAA,YAAW,CAAC,MAAA,kBAAiB,CAAC,QAAA,OAAS,MAAK,CAAA,KAAO,KAAA,KAAA,WAAA,EAD5E,mBAoBW,UAAA,EAAA,KAAA,GAAA,EAAA,CAhBT,mBAGO,QAHP,YAGO,gBADF,MAAA,YAAW,CAAC,MAAA,kBAAiB,CAAC,QAAA,OAAS,MAAK,CAAA,CAAA,EAAA,EAAA,EAEjD,YAWe,MAAA,aAAA,EAAA;OAVb,OAAM;OACN,MAAK;OACL,SAAQ;OACP,SAAK,OAAA,OAAA,OAAA,MAAA,WAAqB,MAAK,gBAAA;iBAAgD,KAAA;qBAA4C,oBAAA;;;8BAO9H,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAAA,gBAFI,YAEJ,GAAA,CAAA,EAAA,CAAA;;gCAGA,YAmBe,MAAA,aAAA,EAAA;;OAlBb,OAAM;OACN,MAAK;OACL,SAAQ;OACP,SAAK,OAAA,OAAA,OAAA,WAA+C,kBAAkB,SAA+B,MAAK,gBAAA;iBAAoD;qBAA2C,oBAAA;;;8BASlL,CAAA,OAAA,OAAA,OAAA,KAAxB,mBAAwB,QAAA,MAAlB,eAAW,GAAA,GACjB,YAIoB,MAAA,WAAA,EAAA;QAHlB,OAAM;QACN,MAAK;QACL,MAAK;QACL,WAAU;;;eAQM,oBAAA,UAAmB,yBAA0C,oBAAA,UAAmB,uCAAA,WAAA,EAIxG,YAWM,yBAAA;;OAVH,YAAA,WAAA;OACA,aAAA,QAAA;OACA,SAAA,QAAA;OACA,qBAAA,oBAAA;OACA,sBAAgB,OAAA,OAAA,OAAA,MAAkB,YAA4B,MAAK,oBAAA;QAAyC;qBAAwC,oBAAA;;;;;;;0BAWvJ,YAmBM,MAAA,kBAAA,EAAA;;OAlBJ,OAAM;OACN,SAAQ;OACP,aAAa,QAAA;OACb,UAAyB,yBAA0C,oBAAA,UAAA;OAKpE,aAAA;OACA,MAAA;OACC,YAAY,UAAA;OACb,cAAA;OACC,uBAAiB,OAAA,OAAA,OAAA,MAAkB,UAA0B,MAAK,gBAAA;iBAA8C;qBAAsC,oBAAA"}
1
+ {"version":3,"file":"RequestBody.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/request-block/components/RequestBody.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton, ScalarIcon, ScalarListbox } from '@scalar/components'\nimport { CONTENT_TYPES } from '@scalar/helpers/http/content-types'\nimport { parseMimeType } from '@scalar/helpers/http/mime-type'\nimport { objectEntries } from '@scalar/helpers/object/object-entries'\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport {\n getExampleFromBody,\n getSelectedBodyContentType,\n} from '@scalar/workspace-store/request-example'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n RequestBodyObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { useFileDialog } from '@/hooks/use-file-dialog'\nimport RequestBodyForm from '@/v2/blocks/request-block/components/RequestBodyForm.vue'\nimport { getFileName } from '@/v2/blocks/request-block/helpers/files'\nimport { CodeInput } from '@/v2/components/code-input'\nimport {\n DataTable,\n DataTableHeader,\n DataTableRow,\n} from '@/v2/components/data-table'\nimport { CollapsibleSection } from '@/v2/components/layout'\n\nconst {\n requestBody,\n exampleKey,\n environment,\n requestBodyCompositionSelection,\n title,\n} = defineProps<{\n /** Request body */\n requestBody?: RequestBodyObject\n /** Currently selected example key for the current operation */\n exampleKey: string\n /** Display title */\n title: string\n /** Selected environment */\n environment: XScalarEnvironment\n /** Selected anyOf/oneOf request-body variants keyed by schema path */\n requestBodyCompositionSelection?: Record<string, number>\n}>()\n\nconst emits = defineEmits<{\n (e: 'update:contentType', payload: { value: string }): void\n /** We use this event to update raw values */\n (\n e: 'update:value',\n payload: Pick<\n ApiReferenceEvents['operation:update:requestBody:value'],\n 'payload' | 'contentType'\n >,\n ): void\n /** We use this event when updating form data only */\n (\n e: 'update:formValue',\n payload: Pick<\n ApiReferenceEvents['operation:update:requestBody:formValue'],\n 'payload' | 'contentType'\n >,\n ): void\n}>()\n\n// Map a content type to a language for the code editor\nconst contentTypeToLanguageMap = {\n 'application/json': 'json',\n 'application/xml': 'xml',\n 'application/yaml': 'yaml',\n} as const\n\n/** Selected content type with default */\nconst selectedContentType = computed(\n () => getSelectedBodyContentType(requestBody, exampleKey) ?? 'none',\n)\n\n/**\n * Strips MIME parameters (such as `charset=utf-8`) for dropdown labels, aligned with how we treat\n * media types elsewhere (see api-reference `normalizeMimeType` / WHATWG essence).\n */\nconst contentTypeLabel = (raw: string): string => parseMimeType(raw).essence\n\n/**\n * Build the dropdown options for the content type selector.\n *\n * The list is composed of two groups:\n * 1. The built-in content types we ship friendly labels for (JSON, XML, Multipart Form, etc.).\n * 2. Any additional content types defined on the OpenAPI request body that are not in the built-in list\n * (for example `text/csv`, `application/pdf`, vendor types like `application/vnd.api+json`, ...).\n *\n * The OpenAPI-defined extras are appended at the bottom so the well-known options stay on top, and\n * users can always pick the exact content type the operation actually accepts.\n */\nconst contentTypeOptions = computed<{ id: string; label: string }[]>(() => {\n const builtIn = objectEntries(CONTENT_TYPES).map(([id, label]) => ({\n id,\n label,\n }))\n\n const extras = Object.keys(requestBody?.content ?? {})\n .filter((type) => {\n if (type in CONTENT_TYPES) {\n return false\n }\n // Same essence as a built-in (e.g. `application/json; charset=utf-8`) — do not duplicate the row.\n return !(contentTypeLabel(type) in CONTENT_TYPES)\n })\n .map((type) => ({ id: type, label: contentTypeLabel(type) }))\n\n return [...builtIn, ...extras]\n})\n\nconst selectedContentTypeModel = computed<{ id: string; label: string }>({\n get: () => {\n const found = contentTypeOptions.value.find(\n (it) => it.id === selectedContentType.value,\n )\n if (found) {\n return found\n }\n\n const essence = contentTypeLabel(selectedContentType.value)\n const friendly =\n CONTENT_TYPES[essence as keyof typeof CONTENT_TYPES] ?? essence\n\n return {\n id: selectedContentType.value,\n label: friendly,\n }\n },\n set: (v) => {\n emits('update:contentType', { value: v.id })\n },\n})\n\nfunction handleFileUpload(callback: (file: File) => void) {\n const { open } = useFileDialog({\n onChange: (files) => {\n const file = files?.[0]\n if (file) {\n callback(file)\n }\n },\n multiple: false,\n accept: '*/*',\n })\n open()\n}\n\n/** Dereferenced example */\nconst example = computed(\n () =>\n requestBody &&\n getExampleFromBody(\n requestBody,\n selectedContentType.value,\n exampleKey,\n requestBodyCompositionSelection,\n ),\n)\n\n/** Convert the example value to a string for the code editor */\nconst bodyValue = computed(() => {\n if (!example.value) {\n return ''\n }\n\n const value = example.value.value\n if (typeof value === 'string') {\n return value\n }\n\n return JSON.stringify(value, null, 2)\n})\n\n/** Resolved schema for the request body */\nconst bodySchema = computed<SchemaObject | undefined>(() => {\n return resolve.schema(\n requestBody?.content?.[selectedContentType.value]?.schema,\n )\n})\n</script>\n<template>\n <CollapsibleSection>\n <template #title>{{ title }}</template>\n <DataTable\n :columns=\"['']\"\n presentational>\n <DataTableHeader\n class=\"relative col-span-full flex h-8 cursor-pointer items-center justify-between border-r-0 !p-0\">\n <ScalarListbox\n v-model=\"selectedContentTypeModel\"\n :options=\"contentTypeOptions\"\n teleport>\n <ScalarButton\n class=\"text-c-2 hover:text-c-1 flex h-full w-fit gap-1.5 px-3 font-normal\"\n fullWidth\n variant=\"ghost\">\n <span>{{ selectedContentTypeModel.label }}</span>\n <ScalarIcon\n icon=\"ChevronDown\"\n size=\"md\" />\n </ScalarButton>\n </ScalarListbox>\n </DataTableHeader>\n <DataTableRow>\n <!-- No Body -->\n <template v-if=\"selectedContentType === 'none'\">\n <div\n class=\"text-c-3 flex min-h-10 w-full items-center justify-center border-t p-2 text-sm\">\n <span>No Body</span>\n </div>\n </template>\n\n <!-- Binary File -->\n <template\n v-else-if=\"selectedContentType === 'application/octet-stream'\">\n <div\n class=\"flex items-center justify-center overflow-hidden border-t p-1.5\">\n <template\n v-if=\"\n getFileName(unpackProxyObject(example?.value)) !== undefined\n \">\n <span\n class=\"text-c-2 w-full max-w-full overflow-hidden rounded border px-1.5 py-1 text-xs whitespace-nowrap\">\n {{ getFileName(unpackProxyObject(example?.value)) }}\n </span>\n <ScalarButton\n class=\"bg-b-2 hover:bg-b-3 text-c-2 ml-1 border-0 shadow-none\"\n size=\"sm\"\n variant=\"outlined\"\n @click=\"\n emits('update:value', {\n payload: undefined,\n contentType: selectedContentType,\n })\n \">\n Delete\n </ScalarButton>\n </template>\n <template v-else>\n <ScalarButton\n class=\"bg-b-2 hover:bg-b-3 text-c-2 border-0 shadow-none\"\n size=\"sm\"\n variant=\"outlined\"\n @click=\"\n () =>\n handleFileUpload((file) =>\n emits('update:value', {\n payload: file,\n contentType: selectedContentType,\n }),\n )\n \">\n <span>Select File</span>\n <ScalarIcon\n class=\"ml-1\"\n icon=\"Upload\"\n size=\"xs\"\n thickness=\"2.5\" />\n </ScalarButton>\n </template>\n </div>\n </template>\n\n <!-- Form Data / URL Encoded -->\n <template\n v-else-if=\"\n selectedContentType === 'multipart/form-data' ||\n selectedContentType === 'application/x-www-form-urlencoded'\n \">\n <RequestBodyForm\n :bodySchema\n :environment\n :example\n :selectedContentType\n @update:formValue=\"\n (payload) =>\n emits('update:formValue', {\n payload,\n contentType: selectedContentType,\n })\n \" />\n </template>\n\n <!-- Code/Other -->\n <template v-else>\n <CodeInput\n class=\"border-t px-3\"\n content=\"\"\n :environment=\"environment\"\n :language=\"\n contentTypeToLanguageMap[\n selectedContentType as keyof typeof contentTypeToLanguageMap\n ] ?? 'plaintext'\n \"\n lineNumbers\n lint\n :modelValue=\"bodyValue\"\n withFakeData\n @update:modelValue=\"\n (value) =>\n emits('update:value', {\n payload: value,\n contentType: selectedContentType,\n })\n \" />\n </template>\n </DataTableRow>\n </DataTable>\n </CollapsibleSection>\n</template>\n<style scoped>\n:deep(.cm-content) {\n font-size: var(--scalar-small);\n}\n</style>\n"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
+ import DataTable_default from "../../../components/data-table/DataTable.vue.js";
2
+ import DataTableRow_default from "../../../components/data-table/DataTableRow.vue.js";
1
3
  import { findClient } from "../../operation-code-sample/helpers/find-client.js";
2
4
  import { getClients } from "../../operation-code-sample/helpers/get-clients.js";
3
5
  import { getCustomCodeSamples } from "../../operation-code-sample/helpers/get-custom-code-samples.js";
4
6
  import { getSecrets } from "../../operation-code-sample/helpers/get-secrets.js";
5
7
  import { generateCodeSnippet } from "../../operation-code-sample/helpers/generate-code-snippet.js";
6
- import DataTable_default from "../../../components/data-table/DataTable.vue.js";
7
- import DataTableRow_default from "../../../components/data-table/DataTableRow.vue.js";
8
8
  import CollapsibleSection_default from "../../../components/layout/CollapsibleSection.vue.js";
9
9
  import { computed, createBlock, createElementVNode, createTextVNode, createVNode, defineComponent, normalizeClass, openBlock, ref, toDisplayString, unref, vShow, watch, withCtx, withDirectives } from "vue";
10
10
  import { ScalarButton, ScalarCodeBlock, ScalarCombobox, ScalarErrorBoundary } from "@scalar/components";
@@ -18,7 +18,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
18
18
  }) => any;
19
19
  upsert: (index: number, payload: {
20
20
  name: string;
21
- value: string;
21
+ value: string | Record<string, unknown>;
22
22
  isDisabled: boolean;
23
23
  }) => any;
24
24
  deleteAll: () => any;
@@ -28,7 +28,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
28
28
  }) => any) | undefined;
29
29
  onUpsert?: ((index: number, payload: {
30
30
  name: string;
31
- value: string;
31
+ value: string | Record<string, unknown>;
32
32
  isDisabled: boolean;
33
33
  }) => any) | undefined;
34
34
  onDeleteAll?: (() => any) | undefined;
@@ -31,7 +31,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
31
31
  exampleName: string;
32
32
  } | {
33
33
  page: "operation";
34
- path: "overview" | "servers" | "authentication";
34
+ path: "overview" | "servers" | "authentication" | "editor";
35
35
  operationPath: string;
36
36
  method: import("@scalar/helpers/http/http-methods").HttpMethod;
37
37
  documentSlug?: string;
@@ -65,7 +65,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
65
65
  exampleName: string;
66
66
  } | {
67
67
  page: "operation";
68
- path: "overview" | "servers" | "authentication";
68
+ path: "overview" | "servers" | "authentication" | "editor";
69
69
  operationPath: string;
70
70
  method: import("@scalar/helpers/http/http-methods").HttpMethod;
71
71
  documentSlug?: string;
@@ -25,6 +25,8 @@ export type TableRow = {
25
25
  isOverridden?: boolean;
26
26
  /** Track the original parameter so we can update it */
27
27
  originalParameter?: ParameterObject;
28
+ /** Path to a value inside the original parameter example for expanded object parameters */
29
+ sourceParameterValuePath?: string[];
28
30
  };
29
31
  type __VLS_Props = {
30
32
  data: TableRow;
@@ -55,7 +57,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
55
57
  exampleName: string;
56
58
  } | {
57
59
  page: "operation";
58
- path: "overview" | "servers" | "authentication";
60
+ path: "overview" | "servers" | "authentication" | "editor";
59
61
  operationPath: string;
60
62
  method: import("@scalar/helpers/http/http-methods").HttpMethod;
61
63
  documentSlug?: string;
@@ -89,7 +91,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
89
91
  exampleName: string;
90
92
  } | {
91
93
  page: "operation";
92
- path: "overview" | "servers" | "authentication";
94
+ path: "overview" | "servers" | "authentication" | "editor";
93
95
  operationPath: string;
94
96
  method: import("@scalar/helpers/http/http-methods").HttpMethod;
95
97
  documentSlug?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"RequestTableRow.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/request-block/components/RequestTableRow.vue"],"names":[],"mappings":"AAoTA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAGxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACb,MAAM,8DAA8D,CAAA;AAcrE,MAAM,MAAM,QAAQ,GAAG;IACrB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;IAC3B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mFAAmF;IACnF,WAAW,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;IAC/C,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wEAAwE;IACxE,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,wCAAwC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,eAAe,CAAA;CACpC,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,QAAQ,CAAA;IACd,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,kBAAkB,CAAA;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAC;AAomBF,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;cAvlBG,MAAM;eAAS,MAAM,GAAG,IAAI;oBAAc,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAAjD,MAAM;eAAS,MAAM,GAAG,IAAI;oBAAc,OAAO;;;;;kFA0lBpE,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"RequestTableRow.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/request-block/components/RequestTableRow.vue"],"names":[],"mappings":"AAsTA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAGxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2EAA2E,CAAA;AACnH,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACb,MAAM,8DAA8D,CAAA;AAcrE,MAAM,MAAM,QAAQ,GAAG;IACrB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,0DAA0D;IAC1D,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;IAC3B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mFAAmF;IACnF,WAAW,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAA;IAC/C,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,wEAAwE;IACxE,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,wCAAwC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,mDAAmD;IACnD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,eAAe,CAAA;IACnC,2FAA2F;IAC3F,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAA;CACpC,CAAA;AAED,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,QAAQ,CAAA;IACd,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,kBAAkB,CAAA;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B,CAAC;AAomBF,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;cAvlBG,MAAM;eAAS,MAAM,GAAG,IAAI;oBAAc,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAAjD,MAAM;eAAS,MAAM,GAAG,IAAI;oBAAc,OAAO;;;;;kFA0lBpE,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RequestTableRow.vue.js","names":[],"sources":["../../../../../src/v2/blocks/request-block/components/RequestTableRow.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton, ScalarIcon, ScalarIconButton } from '@scalar/components'\nimport { ScalarIconGlobe, ScalarIconTrash } from '@scalar/icons'\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n ParameterObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, watch } from 'vue'\n\nimport { getFileName } from '@/v2/blocks/request-block/helpers/files'\nimport { validateParameter } from '@/v2/blocks/request-block/helpers/validate-parameter'\nimport { CodeInput } from '@/v2/components/code-input'\nimport {\n DataTableCell,\n DataTableCheckbox,\n DataTableRow,\n} from '@/v2/components/data-table'\n\nimport RequestTableTooltip from './RequestTableTooltip.vue'\n\nexport type TableRow = {\n /** The parameter or field name/key */\n name: string\n /** The parameter value, can be a string, file, or null */\n value: string | File | null\n /** Optional description for the parameter */\n description?: string\n /** Optional route for global parameters (e.g., cookies shared across workspace) */\n globalRoute?: ApiReferenceEvents['ui:navigate']\n /** Whether the parameter is disabled/inactive */\n isDisabled?: boolean\n /** OpenAPI schema object with type, validation rules, examples, etc. */\n schema?: SchemaObject\n /** Whether the parameter is required */\n isRequired?: boolean\n /**\n * Whether the parameter is readonly and can not be modifies directly\n * User can still override the parameter which is going to show up with the linethrough style\n */\n isReadonly?: boolean\n /** Whether the parameter is overridden later on */\n isOverridden?: boolean\n /** Track the original parameter so we can update it */\n originalParameter?: ParameterObject\n}\n\nconst {\n data,\n environment,\n hasCheckboxDisabled,\n invalidParams,\n showUploadButton,\n} = defineProps<{\n data: TableRow\n hasCheckboxDisabled?: boolean\n invalidParams?: Set<string>\n label?: string\n environment: XScalarEnvironment\n showUploadButton?: boolean\n}>()\n\nconst emit = defineEmits<{\n (\n e: 'upsertRow',\n payload: { name: string; value: string | File; isDisabled: boolean },\n ): void\n (e: 'deleteRow'): void\n (e: 'uploadFile'): void\n (e: 'removeFile'): void\n (e: 'navigate', route: NonNullable<TableRow['globalRoute']>): void\n}>()\n\n/**\n * Track local state for the row\n *\n * Now this is required because of the way we get default values from the schema.\n * If we have a default value in data.value, then we update isDisabled to true. We lose the default value since now\n * we have an example where value: ''. This is why we need to track the local state and update all of the params at the\n * same time.\n */\nconst name = ref<string>(data.name ?? '')\nconst value = ref<string | File>(unpackProxyObject(data.value) ?? '')\nconst isDisabled = ref<boolean>(data.isDisabled ?? false)\n\n// Keep the above state synced with the data prop\nwatch(\n () => data.name,\n (newName) => (name.value = newName ?? ''),\n)\nwatch(\n () => data.value,\n (newValue) => (value.value = unpackProxyObject(newValue) ?? ''),\n)\nwatch(\n () => data.isDisabled,\n (newIsDisabled) => (isDisabled.value = newIsDisabled ?? false),\n)\n\n/** Check if the value is a File instance */\nconst isFile = computed(() => value.value instanceof File)\n\n/** Display value handles File instances and shows filename instead */\nconst displayValue = computed(\n () =>\n (isFile.value\n ? getFileName(value.value as File)\n : (value.value as string)) ?? '',\n)\n\nconst defaultValue = computed(() => data.schema?.default as string)\n\n/** See if we can extract enum values from the schema */\nconst enumValue = computed<string[]>(() => {\n if (!data.schema) {\n return []\n }\n\n // Grab the enum from the schema\n if (data.schema.enum) {\n return data.schema.enum.map((item) => String(item))\n }\n\n // Grab the enum from the items schema\n if ('items' in data.schema) {\n const resolved = resolve.schema(data.schema.items)\n if (resolved?.enum) {\n return resolved.enum.map((item) => String(item))\n }\n }\n\n return []\n})\n\nconst minimumValue = computed(() =>\n data.schema && 'minimum' in data.schema ? data.schema.minimum : undefined,\n)\nconst maximumValue = computed(() =>\n data.schema && 'maximum' in data.schema ? data.schema.maximum : undefined,\n)\nconst typeValue = computed(() =>\n data.schema && 'type' in data.schema ? data.schema.type : undefined,\n)\n\nconst validationResult = computed(() =>\n validateParameter(data.schema, value.value),\n)\n\n/** Handle row updates while preserving existing properties */\nconst handleUpdateRow = (\n payload: Partial<{ name: string; value: string; isDisabled: boolean }>,\n): void => {\n // Update our local state\n if (payload.name !== undefined) {\n name.value = payload.name\n }\n if (payload.value !== undefined) {\n value.value = payload.value\n }\n\n // Is disabled should always be false unless you explicitly set it to true\n isDisabled.value = payload.isDisabled ?? false\n\n // Emit all of the local state\n emit('upsertRow', {\n name: name.value,\n value: value.value,\n isDisabled: isDisabled.value,\n })\n}\n</script>\n\n<template>\n <DataTableRow\n :id=\"data.name\"\n :class=\"{\n alert: validationResult.ok === false,\n error: validationResult.ok === false && invalidParams?.has(data.name),\n }\">\n <DataTableCheckbox\n class=\"!border-r\"\n :disabled=\"hasCheckboxDisabled ?? false\"\n :modelValue=\"!isDisabled\"\n @update:modelValue=\"(v) => handleUpdateRow({ isDisabled: !v })\" />\n\n <!-- Name -->\n <DataTableCell>\n <CodeInput\n :aria-label=\"`${label} Key`\"\n disableCloseBrackets\n :disabled=\"data.isReadonly\"\n disableEnter\n disableTabIndent\n :environment=\"environment\"\n lineWrapping\n :modelValue=\"name\"\n placeholder=\"Key\"\n :required=\"Boolean(data.isRequired)\"\n @navigate=\"(route) => emit('navigate', route)\"\n @selectVariable=\"(v: string) => handleUpdateRow({ name: v })\"\n @update:modelValue=\"(v) => handleUpdateRow({ name: v })\" />\n </DataTableCell>\n\n <!-- Value -->\n <DataTableCell>\n <CodeInput\n :aria-label=\"`${label} Value`\"\n class=\"pr-6 group-hover:pr-10 group-has-[.cm-focused]:pr-10\"\n :default=\"defaultValue\"\n disableCloseBrackets\n :disabled=\"data.isReadonly\"\n disableEnter\n disableTabIndent\n :enum=\"enumValue\"\n :environment=\"environment\"\n :examples=\"\n data.schema?.examples?.map((example) => String(example)) ?? []\n \"\n :linethrough=\"data.isOverridden\"\n lineWrapping\n :max=\"maximumValue\"\n :min=\"minimumValue\"\n :modelValue=\"displayValue\"\n placeholder=\"Value\"\n :type=\"typeValue\"\n withFakeData\n @navigate=\"(route) => emit('navigate', route)\"\n @update:modelValue=\"(v) => handleUpdateRow({ value: v })\">\n <template #icon>\n <ScalarButton\n v-if=\"\n Boolean(data.name || value) &&\n !data.isRequired &&\n data.isReadonly !== true\n \"\n class=\"text-c-2 hover:text-c-1 hover:bg-b-2 z-context -mr-0.5 hidden h-fit rounded p-1 group-hover:flex group-has-[.cm-focused]:flex\"\n size=\"sm\"\n variant=\"ghost\"\n @click=\"emit('deleteRow')\">\n <ScalarIconTrash class=\"size-3.5\" />\n </ScalarButton>\n\n <ScalarIconButton\n v-if=\"data.globalRoute !== undefined\"\n class=\"text-c-2 hover:text-c-1 hover:bg-b-2 z-context -mr-0.5 h-fit\"\n :icon=\"ScalarIconGlobe\"\n label=\"Global cookies are shared across the whole workspace. Click to navigate.\"\n size=\"xs\"\n tooltip=\"top\"\n variant=\"ghost\"\n @click=\"emit('navigate', data.globalRoute)\" />\n\n <RequestTableTooltip\n v-if=\"data.isReadonly\"\n description=\"This is a readonly property and you can not modify it! If you want to change it you have to override it or disable it using the checkbox\"\n :value=\"null\" />\n <RequestTableTooltip\n v-else-if=\"data.schema\"\n :description=\"data.description\"\n :schema=\"data.schema\"\n :value />\n </template>\n </CodeInput>\n </DataTableCell>\n\n <!-- File upload -->\n <DataTableCell\n v-if=\"showUploadButton\"\n class=\"group/upload flex items-center justify-center whitespace-nowrap\">\n <template v-if=\"isFile\">\n <div\n class=\"text-c-2 filemask flex w-full max-w-[100%] items-center justify-center overflow-hidden p-1\">\n <span>{{ displayValue }}</span>\n </div>\n <button\n class=\"bg-b-2 mt-1 block rounded p-0.5 text-center text-xs font-medium md:pointer-events-none md:absolute md:inset-x-1 md:top-1/2 md:mt-0 md:-translate-y-1/2 md:opacity-0 md:group-hover/upload:pointer-events-auto md:group-hover/upload:opacity-100\"\n type=\"button\"\n @click=\"emit('removeFile')\">\n Delete\n </button>\n </template>\n <template v-else>\n <div class=\"p-0.5\">\n <ScalarButton\n class=\"bg-b-2 hover:bg-b-3 text-c-2 h-fit border-0 py-px shadow-none\"\n size=\"sm\"\n variant=\"outlined\"\n @click=\"emit('uploadFile')\">\n <span>Select File</span>\n <ScalarIcon\n class=\"ml-1\"\n icon=\"Upload\"\n size=\"xs\"\n thickness=\"2.5\" />\n </ScalarButton>\n </div>\n </template>\n </DataTableCell>\n </DataTableRow>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"RequestTableRow.vue.js","names":[],"sources":["../../../../../src/v2/blocks/request-block/components/RequestTableRow.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton, ScalarIcon, ScalarIconButton } from '@scalar/components'\nimport { ScalarIconGlobe, ScalarIconTrash } from '@scalar/icons'\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n ParameterObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, watch } from 'vue'\n\nimport { getFileName } from '@/v2/blocks/request-block/helpers/files'\nimport { validateParameter } from '@/v2/blocks/request-block/helpers/validate-parameter'\nimport { CodeInput } from '@/v2/components/code-input'\nimport {\n DataTableCell,\n DataTableCheckbox,\n DataTableRow,\n} from '@/v2/components/data-table'\n\nimport RequestTableTooltip from './RequestTableTooltip.vue'\n\nexport type TableRow = {\n /** The parameter or field name/key */\n name: string\n /** The parameter value, can be a string, file, or null */\n value: string | File | null\n /** Optional description for the parameter */\n description?: string\n /** Optional route for global parameters (e.g., cookies shared across workspace) */\n globalRoute?: ApiReferenceEvents['ui:navigate']\n /** Whether the parameter is disabled/inactive */\n isDisabled?: boolean\n /** OpenAPI schema object with type, validation rules, examples, etc. */\n schema?: SchemaObject\n /** Whether the parameter is required */\n isRequired?: boolean\n /**\n * Whether the parameter is readonly and can not be modifies directly\n * User can still override the parameter which is going to show up with the linethrough style\n */\n isReadonly?: boolean\n /** Whether the parameter is overridden later on */\n isOverridden?: boolean\n /** Track the original parameter so we can update it */\n originalParameter?: ParameterObject\n /** Path to a value inside the original parameter example for expanded object parameters */\n sourceParameterValuePath?: string[]\n}\n\nconst {\n data,\n environment,\n hasCheckboxDisabled,\n invalidParams,\n showUploadButton,\n} = defineProps<{\n data: TableRow\n hasCheckboxDisabled?: boolean\n invalidParams?: Set<string>\n label?: string\n environment: XScalarEnvironment\n showUploadButton?: boolean\n}>()\n\nconst emit = defineEmits<{\n (\n e: 'upsertRow',\n payload: { name: string; value: string | File; isDisabled: boolean },\n ): void\n (e: 'deleteRow'): void\n (e: 'uploadFile'): void\n (e: 'removeFile'): void\n (e: 'navigate', route: NonNullable<TableRow['globalRoute']>): void\n}>()\n\n/**\n * Track local state for the row\n *\n * Now this is required because of the way we get default values from the schema.\n * If we have a default value in data.value, then we update isDisabled to true. We lose the default value since now\n * we have an example where value: ''. This is why we need to track the local state and update all of the params at the\n * same time.\n */\nconst name = ref<string>(data.name ?? '')\nconst value = ref<string | File>(unpackProxyObject(data.value) ?? '')\nconst isDisabled = ref<boolean>(data.isDisabled ?? false)\n\n// Keep the above state synced with the data prop\nwatch(\n () => data.name,\n (newName) => (name.value = newName ?? ''),\n)\nwatch(\n () => data.value,\n (newValue) => (value.value = unpackProxyObject(newValue) ?? ''),\n)\nwatch(\n () => data.isDisabled,\n (newIsDisabled) => (isDisabled.value = newIsDisabled ?? false),\n)\n\n/** Check if the value is a File instance */\nconst isFile = computed(() => value.value instanceof File)\n\n/** Display value handles File instances and shows filename instead */\nconst displayValue = computed(\n () =>\n (isFile.value\n ? getFileName(value.value as File)\n : (value.value as string)) ?? '',\n)\n\nconst defaultValue = computed(() => data.schema?.default as string)\n\n/** See if we can extract enum values from the schema */\nconst enumValue = computed<string[]>(() => {\n if (!data.schema) {\n return []\n }\n\n // Grab the enum from the schema\n if (data.schema.enum) {\n return data.schema.enum.map((item) => String(item))\n }\n\n // Grab the enum from the items schema\n if ('items' in data.schema) {\n const resolved = resolve.schema(data.schema.items)\n if (resolved?.enum) {\n return resolved.enum.map((item) => String(item))\n }\n }\n\n return []\n})\n\nconst minimumValue = computed(() =>\n data.schema && 'minimum' in data.schema ? data.schema.minimum : undefined,\n)\nconst maximumValue = computed(() =>\n data.schema && 'maximum' in data.schema ? data.schema.maximum : undefined,\n)\nconst typeValue = computed(() =>\n data.schema && 'type' in data.schema ? data.schema.type : undefined,\n)\n\nconst validationResult = computed(() =>\n validateParameter(data.schema, value.value),\n)\n\n/** Handle row updates while preserving existing properties */\nconst handleUpdateRow = (\n payload: Partial<{ name: string; value: string; isDisabled: boolean }>,\n): void => {\n // Update our local state\n if (payload.name !== undefined) {\n name.value = payload.name\n }\n if (payload.value !== undefined) {\n value.value = payload.value\n }\n\n // Is disabled should always be false unless you explicitly set it to true\n isDisabled.value = payload.isDisabled ?? false\n\n // Emit all of the local state\n emit('upsertRow', {\n name: name.value,\n value: value.value,\n isDisabled: isDisabled.value,\n })\n}\n</script>\n\n<template>\n <DataTableRow\n :id=\"data.name\"\n :class=\"{\n alert: validationResult.ok === false,\n error: validationResult.ok === false && invalidParams?.has(data.name),\n }\">\n <DataTableCheckbox\n class=\"!border-r\"\n :disabled=\"hasCheckboxDisabled ?? false\"\n :modelValue=\"!isDisabled\"\n @update:modelValue=\"(v) => handleUpdateRow({ isDisabled: !v })\" />\n\n <!-- Name -->\n <DataTableCell>\n <CodeInput\n :aria-label=\"`${label} Key`\"\n disableCloseBrackets\n :disabled=\"data.isReadonly\"\n disableEnter\n disableTabIndent\n :environment=\"environment\"\n lineWrapping\n :modelValue=\"name\"\n placeholder=\"Key\"\n :required=\"Boolean(data.isRequired)\"\n @navigate=\"(route) => emit('navigate', route)\"\n @selectVariable=\"(v: string) => handleUpdateRow({ name: v })\"\n @update:modelValue=\"(v) => handleUpdateRow({ name: v })\" />\n </DataTableCell>\n\n <!-- Value -->\n <DataTableCell>\n <CodeInput\n :aria-label=\"`${label} Value`\"\n class=\"pr-6 group-hover:pr-10 group-has-[.cm-focused]:pr-10\"\n :default=\"defaultValue\"\n disableCloseBrackets\n :disabled=\"data.isReadonly\"\n disableEnter\n disableTabIndent\n :enum=\"enumValue\"\n :environment=\"environment\"\n :examples=\"\n data.schema?.examples?.map((example) => String(example)) ?? []\n \"\n :linethrough=\"data.isOverridden\"\n lineWrapping\n :max=\"maximumValue\"\n :min=\"minimumValue\"\n :modelValue=\"displayValue\"\n placeholder=\"Value\"\n :type=\"typeValue\"\n withFakeData\n @navigate=\"(route) => emit('navigate', route)\"\n @update:modelValue=\"(v) => handleUpdateRow({ value: v })\">\n <template #icon>\n <ScalarButton\n v-if=\"\n Boolean(data.name || value) &&\n !data.isRequired &&\n data.isReadonly !== true\n \"\n class=\"text-c-2 hover:text-c-1 hover:bg-b-2 z-context -mr-0.5 hidden h-fit rounded p-1 group-hover:flex group-has-[.cm-focused]:flex\"\n size=\"sm\"\n variant=\"ghost\"\n @click=\"emit('deleteRow')\">\n <ScalarIconTrash class=\"size-3.5\" />\n </ScalarButton>\n\n <ScalarIconButton\n v-if=\"data.globalRoute !== undefined\"\n class=\"text-c-2 hover:text-c-1 hover:bg-b-2 z-context -mr-0.5 h-fit\"\n :icon=\"ScalarIconGlobe\"\n label=\"Global cookies are shared across the whole workspace. Click to navigate.\"\n size=\"xs\"\n tooltip=\"top\"\n variant=\"ghost\"\n @click=\"emit('navigate', data.globalRoute)\" />\n\n <RequestTableTooltip\n v-if=\"data.isReadonly\"\n description=\"This is a readonly property and you can not modify it! If you want to change it you have to override it or disable it using the checkbox\"\n :value=\"null\" />\n <RequestTableTooltip\n v-else-if=\"data.schema\"\n :description=\"data.description\"\n :schema=\"data.schema\"\n :value />\n </template>\n </CodeInput>\n </DataTableCell>\n\n <!-- File upload -->\n <DataTableCell\n v-if=\"showUploadButton\"\n class=\"group/upload flex items-center justify-center whitespace-nowrap\">\n <template v-if=\"isFile\">\n <div\n class=\"text-c-2 filemask flex w-full max-w-[100%] items-center justify-center overflow-hidden p-1\">\n <span>{{ displayValue }}</span>\n </div>\n <button\n class=\"bg-b-2 mt-1 block rounded p-0.5 text-center text-xs font-medium md:pointer-events-none md:absolute md:inset-x-1 md:top-1/2 md:mt-0 md:-translate-y-1/2 md:opacity-0 md:group-hover/upload:pointer-events-auto md:group-hover/upload:opacity-100\"\n type=\"button\"\n @click=\"emit('removeFile')\">\n Delete\n </button>\n </template>\n <template v-else>\n <div class=\"p-0.5\">\n <ScalarButton\n class=\"bg-b-2 hover:bg-b-3 text-c-2 h-fit border-0 py-px shadow-none\"\n size=\"sm\"\n variant=\"outlined\"\n @click=\"emit('uploadFile')\">\n <span>Select File</span>\n <ScalarIcon\n class=\"ml-1\"\n icon=\"Upload\"\n size=\"xs\"\n thickness=\"2.5\" />\n </ScalarButton>\n </div>\n </template>\n </DataTableCell>\n </DataTableRow>\n</template>\n"],"mappings":""}
@@ -1,9 +1,9 @@
1
- import { getFileName } from "../helpers/files.js";
2
- import { validateParameter } from "../helpers/validate-parameter.js";
3
1
  import CodeInput_default from "../../../components/code-input/CodeInput.vue.js";
4
2
  import DataTableCell_default from "../../../components/data-table/DataTableCell.vue.js";
5
3
  import DataTableCheckbox_default from "../../../components/data-table/DataTableCheckbox.vue.js";
6
4
  import DataTableRow_default from "../../../components/data-table/DataTableRow.vue.js";
5
+ import { getFileName } from "../helpers/files.js";
6
+ import { validateParameter } from "../helpers/validate-parameter.js";
7
7
  import RequestTableTooltip_default from "./RequestTableTooltip.vue.js";
8
8
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, ref, toDisplayString, unref, watch, withCtx } from "vue";
9
9
  import { ScalarButton, ScalarIcon, ScalarIconButton } from "@scalar/components";
@@ -1 +1 @@
1
- {"version":3,"file":"RequestTableRow.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/request-block/components/RequestTableRow.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton, ScalarIcon, ScalarIconButton } from '@scalar/components'\nimport { ScalarIconGlobe, ScalarIconTrash } from '@scalar/icons'\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n ParameterObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, watch } from 'vue'\n\nimport { getFileName } from '@/v2/blocks/request-block/helpers/files'\nimport { validateParameter } from '@/v2/blocks/request-block/helpers/validate-parameter'\nimport { CodeInput } from '@/v2/components/code-input'\nimport {\n DataTableCell,\n DataTableCheckbox,\n DataTableRow,\n} from '@/v2/components/data-table'\n\nimport RequestTableTooltip from './RequestTableTooltip.vue'\n\nexport type TableRow = {\n /** The parameter or field name/key */\n name: string\n /** The parameter value, can be a string, file, or null */\n value: string | File | null\n /** Optional description for the parameter */\n description?: string\n /** Optional route for global parameters (e.g., cookies shared across workspace) */\n globalRoute?: ApiReferenceEvents['ui:navigate']\n /** Whether the parameter is disabled/inactive */\n isDisabled?: boolean\n /** OpenAPI schema object with type, validation rules, examples, etc. */\n schema?: SchemaObject\n /** Whether the parameter is required */\n isRequired?: boolean\n /**\n * Whether the parameter is readonly and can not be modifies directly\n * User can still override the parameter which is going to show up with the linethrough style\n */\n isReadonly?: boolean\n /** Whether the parameter is overridden later on */\n isOverridden?: boolean\n /** Track the original parameter so we can update it */\n originalParameter?: ParameterObject\n}\n\nconst {\n data,\n environment,\n hasCheckboxDisabled,\n invalidParams,\n showUploadButton,\n} = defineProps<{\n data: TableRow\n hasCheckboxDisabled?: boolean\n invalidParams?: Set<string>\n label?: string\n environment: XScalarEnvironment\n showUploadButton?: boolean\n}>()\n\nconst emit = defineEmits<{\n (\n e: 'upsertRow',\n payload: { name: string; value: string | File; isDisabled: boolean },\n ): void\n (e: 'deleteRow'): void\n (e: 'uploadFile'): void\n (e: 'removeFile'): void\n (e: 'navigate', route: NonNullable<TableRow['globalRoute']>): void\n}>()\n\n/**\n * Track local state for the row\n *\n * Now this is required because of the way we get default values from the schema.\n * If we have a default value in data.value, then we update isDisabled to true. We lose the default value since now\n * we have an example where value: ''. This is why we need to track the local state and update all of the params at the\n * same time.\n */\nconst name = ref<string>(data.name ?? '')\nconst value = ref<string | File>(unpackProxyObject(data.value) ?? '')\nconst isDisabled = ref<boolean>(data.isDisabled ?? false)\n\n// Keep the above state synced with the data prop\nwatch(\n () => data.name,\n (newName) => (name.value = newName ?? ''),\n)\nwatch(\n () => data.value,\n (newValue) => (value.value = unpackProxyObject(newValue) ?? ''),\n)\nwatch(\n () => data.isDisabled,\n (newIsDisabled) => (isDisabled.value = newIsDisabled ?? false),\n)\n\n/** Check if the value is a File instance */\nconst isFile = computed(() => value.value instanceof File)\n\n/** Display value handles File instances and shows filename instead */\nconst displayValue = computed(\n () =>\n (isFile.value\n ? getFileName(value.value as File)\n : (value.value as string)) ?? '',\n)\n\nconst defaultValue = computed(() => data.schema?.default as string)\n\n/** See if we can extract enum values from the schema */\nconst enumValue = computed<string[]>(() => {\n if (!data.schema) {\n return []\n }\n\n // Grab the enum from the schema\n if (data.schema.enum) {\n return data.schema.enum.map((item) => String(item))\n }\n\n // Grab the enum from the items schema\n if ('items' in data.schema) {\n const resolved = resolve.schema(data.schema.items)\n if (resolved?.enum) {\n return resolved.enum.map((item) => String(item))\n }\n }\n\n return []\n})\n\nconst minimumValue = computed(() =>\n data.schema && 'minimum' in data.schema ? data.schema.minimum : undefined,\n)\nconst maximumValue = computed(() =>\n data.schema && 'maximum' in data.schema ? data.schema.maximum : undefined,\n)\nconst typeValue = computed(() =>\n data.schema && 'type' in data.schema ? data.schema.type : undefined,\n)\n\nconst validationResult = computed(() =>\n validateParameter(data.schema, value.value),\n)\n\n/** Handle row updates while preserving existing properties */\nconst handleUpdateRow = (\n payload: Partial<{ name: string; value: string; isDisabled: boolean }>,\n): void => {\n // Update our local state\n if (payload.name !== undefined) {\n name.value = payload.name\n }\n if (payload.value !== undefined) {\n value.value = payload.value\n }\n\n // Is disabled should always be false unless you explicitly set it to true\n isDisabled.value = payload.isDisabled ?? false\n\n // Emit all of the local state\n emit('upsertRow', {\n name: name.value,\n value: value.value,\n isDisabled: isDisabled.value,\n })\n}\n</script>\n\n<template>\n <DataTableRow\n :id=\"data.name\"\n :class=\"{\n alert: validationResult.ok === false,\n error: validationResult.ok === false && invalidParams?.has(data.name),\n }\">\n <DataTableCheckbox\n class=\"!border-r\"\n :disabled=\"hasCheckboxDisabled ?? false\"\n :modelValue=\"!isDisabled\"\n @update:modelValue=\"(v) => handleUpdateRow({ isDisabled: !v })\" />\n\n <!-- Name -->\n <DataTableCell>\n <CodeInput\n :aria-label=\"`${label} Key`\"\n disableCloseBrackets\n :disabled=\"data.isReadonly\"\n disableEnter\n disableTabIndent\n :environment=\"environment\"\n lineWrapping\n :modelValue=\"name\"\n placeholder=\"Key\"\n :required=\"Boolean(data.isRequired)\"\n @navigate=\"(route) => emit('navigate', route)\"\n @selectVariable=\"(v: string) => handleUpdateRow({ name: v })\"\n @update:modelValue=\"(v) => handleUpdateRow({ name: v })\" />\n </DataTableCell>\n\n <!-- Value -->\n <DataTableCell>\n <CodeInput\n :aria-label=\"`${label} Value`\"\n class=\"pr-6 group-hover:pr-10 group-has-[.cm-focused]:pr-10\"\n :default=\"defaultValue\"\n disableCloseBrackets\n :disabled=\"data.isReadonly\"\n disableEnter\n disableTabIndent\n :enum=\"enumValue\"\n :environment=\"environment\"\n :examples=\"\n data.schema?.examples?.map((example) => String(example)) ?? []\n \"\n :linethrough=\"data.isOverridden\"\n lineWrapping\n :max=\"maximumValue\"\n :min=\"minimumValue\"\n :modelValue=\"displayValue\"\n placeholder=\"Value\"\n :type=\"typeValue\"\n withFakeData\n @navigate=\"(route) => emit('navigate', route)\"\n @update:modelValue=\"(v) => handleUpdateRow({ value: v })\">\n <template #icon>\n <ScalarButton\n v-if=\"\n Boolean(data.name || value) &&\n !data.isRequired &&\n data.isReadonly !== true\n \"\n class=\"text-c-2 hover:text-c-1 hover:bg-b-2 z-context -mr-0.5 hidden h-fit rounded p-1 group-hover:flex group-has-[.cm-focused]:flex\"\n size=\"sm\"\n variant=\"ghost\"\n @click=\"emit('deleteRow')\">\n <ScalarIconTrash class=\"size-3.5\" />\n </ScalarButton>\n\n <ScalarIconButton\n v-if=\"data.globalRoute !== undefined\"\n class=\"text-c-2 hover:text-c-1 hover:bg-b-2 z-context -mr-0.5 h-fit\"\n :icon=\"ScalarIconGlobe\"\n label=\"Global cookies are shared across the whole workspace. Click to navigate.\"\n size=\"xs\"\n tooltip=\"top\"\n variant=\"ghost\"\n @click=\"emit('navigate', data.globalRoute)\" />\n\n <RequestTableTooltip\n v-if=\"data.isReadonly\"\n description=\"This is a readonly property and you can not modify it! If you want to change it you have to override it or disable it using the checkbox\"\n :value=\"null\" />\n <RequestTableTooltip\n v-else-if=\"data.schema\"\n :description=\"data.description\"\n :schema=\"data.schema\"\n :value />\n </template>\n </CodeInput>\n </DataTableCell>\n\n <!-- File upload -->\n <DataTableCell\n v-if=\"showUploadButton\"\n class=\"group/upload flex items-center justify-center whitespace-nowrap\">\n <template v-if=\"isFile\">\n <div\n class=\"text-c-2 filemask flex w-full max-w-[100%] items-center justify-center overflow-hidden p-1\">\n <span>{{ displayValue }}</span>\n </div>\n <button\n class=\"bg-b-2 mt-1 block rounded p-0.5 text-center text-xs font-medium md:pointer-events-none md:absolute md:inset-x-1 md:top-1/2 md:mt-0 md:-translate-y-1/2 md:opacity-0 md:group-hover/upload:pointer-events-auto md:group-hover/upload:opacity-100\"\n type=\"button\"\n @click=\"emit('removeFile')\">\n Delete\n </button>\n </template>\n <template v-else>\n <div class=\"p-0.5\">\n <ScalarButton\n class=\"bg-b-2 hover:bg-b-3 text-c-2 h-fit border-0 py-px shadow-none\"\n size=\"sm\"\n variant=\"outlined\"\n @click=\"emit('uploadFile')\">\n <span>Select File</span>\n <ScalarIcon\n class=\"ml-1\"\n icon=\"Upload\"\n size=\"xs\"\n thickness=\"2.5\" />\n </ScalarButton>\n </div>\n </template>\n </DataTableCell>\n </DataTableRow>\n</template>\n"],"mappings":"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"}
1
+ {"version":3,"file":"RequestTableRow.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/request-block/components/RequestTableRow.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton, ScalarIcon, ScalarIconButton } from '@scalar/components'\nimport { ScalarIconGlobe, ScalarIconTrash } from '@scalar/icons'\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n ParameterObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, watch } from 'vue'\n\nimport { getFileName } from '@/v2/blocks/request-block/helpers/files'\nimport { validateParameter } from '@/v2/blocks/request-block/helpers/validate-parameter'\nimport { CodeInput } from '@/v2/components/code-input'\nimport {\n DataTableCell,\n DataTableCheckbox,\n DataTableRow,\n} from '@/v2/components/data-table'\n\nimport RequestTableTooltip from './RequestTableTooltip.vue'\n\nexport type TableRow = {\n /** The parameter or field name/key */\n name: string\n /** The parameter value, can be a string, file, or null */\n value: string | File | null\n /** Optional description for the parameter */\n description?: string\n /** Optional route for global parameters (e.g., cookies shared across workspace) */\n globalRoute?: ApiReferenceEvents['ui:navigate']\n /** Whether the parameter is disabled/inactive */\n isDisabled?: boolean\n /** OpenAPI schema object with type, validation rules, examples, etc. */\n schema?: SchemaObject\n /** Whether the parameter is required */\n isRequired?: boolean\n /**\n * Whether the parameter is readonly and can not be modifies directly\n * User can still override the parameter which is going to show up with the linethrough style\n */\n isReadonly?: boolean\n /** Whether the parameter is overridden later on */\n isOverridden?: boolean\n /** Track the original parameter so we can update it */\n originalParameter?: ParameterObject\n /** Path to a value inside the original parameter example for expanded object parameters */\n sourceParameterValuePath?: string[]\n}\n\nconst {\n data,\n environment,\n hasCheckboxDisabled,\n invalidParams,\n showUploadButton,\n} = defineProps<{\n data: TableRow\n hasCheckboxDisabled?: boolean\n invalidParams?: Set<string>\n label?: string\n environment: XScalarEnvironment\n showUploadButton?: boolean\n}>()\n\nconst emit = defineEmits<{\n (\n e: 'upsertRow',\n payload: { name: string; value: string | File; isDisabled: boolean },\n ): void\n (e: 'deleteRow'): void\n (e: 'uploadFile'): void\n (e: 'removeFile'): void\n (e: 'navigate', route: NonNullable<TableRow['globalRoute']>): void\n}>()\n\n/**\n * Track local state for the row\n *\n * Now this is required because of the way we get default values from the schema.\n * If we have a default value in data.value, then we update isDisabled to true. We lose the default value since now\n * we have an example where value: ''. This is why we need to track the local state and update all of the params at the\n * same time.\n */\nconst name = ref<string>(data.name ?? '')\nconst value = ref<string | File>(unpackProxyObject(data.value) ?? '')\nconst isDisabled = ref<boolean>(data.isDisabled ?? false)\n\n// Keep the above state synced with the data prop\nwatch(\n () => data.name,\n (newName) => (name.value = newName ?? ''),\n)\nwatch(\n () => data.value,\n (newValue) => (value.value = unpackProxyObject(newValue) ?? ''),\n)\nwatch(\n () => data.isDisabled,\n (newIsDisabled) => (isDisabled.value = newIsDisabled ?? false),\n)\n\n/** Check if the value is a File instance */\nconst isFile = computed(() => value.value instanceof File)\n\n/** Display value handles File instances and shows filename instead */\nconst displayValue = computed(\n () =>\n (isFile.value\n ? getFileName(value.value as File)\n : (value.value as string)) ?? '',\n)\n\nconst defaultValue = computed(() => data.schema?.default as string)\n\n/** See if we can extract enum values from the schema */\nconst enumValue = computed<string[]>(() => {\n if (!data.schema) {\n return []\n }\n\n // Grab the enum from the schema\n if (data.schema.enum) {\n return data.schema.enum.map((item) => String(item))\n }\n\n // Grab the enum from the items schema\n if ('items' in data.schema) {\n const resolved = resolve.schema(data.schema.items)\n if (resolved?.enum) {\n return resolved.enum.map((item) => String(item))\n }\n }\n\n return []\n})\n\nconst minimumValue = computed(() =>\n data.schema && 'minimum' in data.schema ? data.schema.minimum : undefined,\n)\nconst maximumValue = computed(() =>\n data.schema && 'maximum' in data.schema ? data.schema.maximum : undefined,\n)\nconst typeValue = computed(() =>\n data.schema && 'type' in data.schema ? data.schema.type : undefined,\n)\n\nconst validationResult = computed(() =>\n validateParameter(data.schema, value.value),\n)\n\n/** Handle row updates while preserving existing properties */\nconst handleUpdateRow = (\n payload: Partial<{ name: string; value: string; isDisabled: boolean }>,\n): void => {\n // Update our local state\n if (payload.name !== undefined) {\n name.value = payload.name\n }\n if (payload.value !== undefined) {\n value.value = payload.value\n }\n\n // Is disabled should always be false unless you explicitly set it to true\n isDisabled.value = payload.isDisabled ?? false\n\n // Emit all of the local state\n emit('upsertRow', {\n name: name.value,\n value: value.value,\n isDisabled: isDisabled.value,\n })\n}\n</script>\n\n<template>\n <DataTableRow\n :id=\"data.name\"\n :class=\"{\n alert: validationResult.ok === false,\n error: validationResult.ok === false && invalidParams?.has(data.name),\n }\">\n <DataTableCheckbox\n class=\"!border-r\"\n :disabled=\"hasCheckboxDisabled ?? false\"\n :modelValue=\"!isDisabled\"\n @update:modelValue=\"(v) => handleUpdateRow({ isDisabled: !v })\" />\n\n <!-- Name -->\n <DataTableCell>\n <CodeInput\n :aria-label=\"`${label} Key`\"\n disableCloseBrackets\n :disabled=\"data.isReadonly\"\n disableEnter\n disableTabIndent\n :environment=\"environment\"\n lineWrapping\n :modelValue=\"name\"\n placeholder=\"Key\"\n :required=\"Boolean(data.isRequired)\"\n @navigate=\"(route) => emit('navigate', route)\"\n @selectVariable=\"(v: string) => handleUpdateRow({ name: v })\"\n @update:modelValue=\"(v) => handleUpdateRow({ name: v })\" />\n </DataTableCell>\n\n <!-- Value -->\n <DataTableCell>\n <CodeInput\n :aria-label=\"`${label} Value`\"\n class=\"pr-6 group-hover:pr-10 group-has-[.cm-focused]:pr-10\"\n :default=\"defaultValue\"\n disableCloseBrackets\n :disabled=\"data.isReadonly\"\n disableEnter\n disableTabIndent\n :enum=\"enumValue\"\n :environment=\"environment\"\n :examples=\"\n data.schema?.examples?.map((example) => String(example)) ?? []\n \"\n :linethrough=\"data.isOverridden\"\n lineWrapping\n :max=\"maximumValue\"\n :min=\"minimumValue\"\n :modelValue=\"displayValue\"\n placeholder=\"Value\"\n :type=\"typeValue\"\n withFakeData\n @navigate=\"(route) => emit('navigate', route)\"\n @update:modelValue=\"(v) => handleUpdateRow({ value: v })\">\n <template #icon>\n <ScalarButton\n v-if=\"\n Boolean(data.name || value) &&\n !data.isRequired &&\n data.isReadonly !== true\n \"\n class=\"text-c-2 hover:text-c-1 hover:bg-b-2 z-context -mr-0.5 hidden h-fit rounded p-1 group-hover:flex group-has-[.cm-focused]:flex\"\n size=\"sm\"\n variant=\"ghost\"\n @click=\"emit('deleteRow')\">\n <ScalarIconTrash class=\"size-3.5\" />\n </ScalarButton>\n\n <ScalarIconButton\n v-if=\"data.globalRoute !== undefined\"\n class=\"text-c-2 hover:text-c-1 hover:bg-b-2 z-context -mr-0.5 h-fit\"\n :icon=\"ScalarIconGlobe\"\n label=\"Global cookies are shared across the whole workspace. Click to navigate.\"\n size=\"xs\"\n tooltip=\"top\"\n variant=\"ghost\"\n @click=\"emit('navigate', data.globalRoute)\" />\n\n <RequestTableTooltip\n v-if=\"data.isReadonly\"\n description=\"This is a readonly property and you can not modify it! If you want to change it you have to override it or disable it using the checkbox\"\n :value=\"null\" />\n <RequestTableTooltip\n v-else-if=\"data.schema\"\n :description=\"data.description\"\n :schema=\"data.schema\"\n :value />\n </template>\n </CodeInput>\n </DataTableCell>\n\n <!-- File upload -->\n <DataTableCell\n v-if=\"showUploadButton\"\n class=\"group/upload flex items-center justify-center whitespace-nowrap\">\n <template v-if=\"isFile\">\n <div\n class=\"text-c-2 filemask flex w-full max-w-[100%] items-center justify-center overflow-hidden p-1\">\n <span>{{ displayValue }}</span>\n </div>\n <button\n class=\"bg-b-2 mt-1 block rounded p-0.5 text-center text-xs font-medium md:pointer-events-none md:absolute md:inset-x-1 md:top-1/2 md:mt-0 md:-translate-y-1/2 md:opacity-0 md:group-hover/upload:pointer-events-auto md:group-hover/upload:opacity-100\"\n type=\"button\"\n @click=\"emit('removeFile')\">\n Delete\n </button>\n </template>\n <template v-else>\n <div class=\"p-0.5\">\n <ScalarButton\n class=\"bg-b-2 hover:bg-b-3 text-c-2 h-fit border-0 py-px shadow-none\"\n size=\"sm\"\n variant=\"outlined\"\n @click=\"emit('uploadFile')\">\n <span>Select File</span>\n <ScalarIcon\n class=\"ml-1\"\n icon=\"Upload\"\n size=\"xs\"\n thickness=\"2.5\" />\n </ScalarButton>\n </div>\n </template>\n </DataTableCell>\n </DataTableRow>\n</template>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RequestTableTooltip.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/request-block/components/RequestTableTooltip.vue"],"names":[],"mappings":"AAsEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAKhG,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAC;AA8KF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
1
+ {"version":3,"file":"RequestTableTooltip.vue.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/request-block/components/RequestTableTooltip.vue"],"names":[],"mappings":"AAuEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8DAA8D,CAAA;AAKhG,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAC;AAgLF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RequestTableTooltip.vue.js","names":[],"sources":["../../../../../src/v2/blocks/request-block/components/RequestTableTooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdown, ScalarPopover } from '@scalar/components'\nimport { ScalarIconInfo, ScalarIconWarning } from '@scalar/icons'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { validateParameter } from '@/v2/blocks/request-block/helpers/validate-parameter'\n\nconst { schema, value, description } = defineProps<{\n schema?: SchemaObject\n value: string | File | null\n description?: string\n}>()\n\nconst invalidParameterMessage = computed(() => validateParameter(schema, value))\nconst isInvalid = computed(() => invalidParameterMessage.value.ok === false)\n</script>\n<template>\n <ScalarPopover\n :offset=\"4\"\n placement=\"left\"\n teleport>\n <button\n :aria-label=\"isInvalid ? 'Input is invalid' : 'More Information'\"\n class=\"text-c-2 hover:text-c-1 hover:bg-b-2 rounded p-1\"\n :role=\"isInvalid ? 'alert' : 'none'\"\n type=\"button\">\n <ScalarIconWarning\n v-if=\"isInvalid\"\n class=\"text-orange size-3.5 brightness-90 hover:brightness-75\" />\n <ScalarIconInfo\n v-else\n class=\"text-c-2 hover:text-c-1 size-3.5\" />\n </button>\n <template #popover>\n <div\n class=\"w-content text-xxs text-c-1 grid min-w-48 gap-1.5 rounded px-1.5 pt-2 pb-1.5 leading-none *:max-w-64\">\n <div\n v-if=\"invalidParameterMessage.ok === false\"\n class=\"text-error-1\">\n {{ invalidParameterMessage.message }}\n </div>\n <div\n v-else-if=\"\n schema &&\n ('type' in schema ||\n 'format' in schema ||\n 'minimum' in schema ||\n 'maximum' in schema ||\n 'default' in schema)\n \"\n class=\"schema text-c-2 truncate *:not-first:before:content-['_·_']\">\n <span v-if=\"'type' in schema\">{{ schema.type }}</span>\n <span v-if=\"'format' in schema\">{{ schema.format }}</span>\n <span v-if=\"'minimum' in schema\">min: {{ schema.minimum }}</span>\n <span v-if=\"'maximum' in schema\">max: {{ schema.maximum }}</span>\n <span v-if=\"'default' in schema\">default: {{ schema.default }}</span>\n </div>\n <ScalarMarkdown\n v-if=\"description && !isInvalid\"\n :value=\"description\" />\n </div>\n </template>\n </ScalarPopover>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"RequestTableTooltip.vue.js","names":[],"sources":["../../../../../src/v2/blocks/request-block/components/RequestTableTooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdown, ScalarPopover } from '@scalar/components'\nimport { ScalarIconInfo, ScalarIconWarning } from '@scalar/icons'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { validateParameter } from '@/v2/blocks/request-block/helpers/validate-parameter'\n\nconst { schema, value, description } = defineProps<{\n schema?: SchemaObject\n value: string | File | null\n description?: string\n}>()\n\nconst invalidParameterMessage = computed(() => validateParameter(schema, value))\nconst isInvalid = computed(() => invalidParameterMessage.value.ok === false)\n</script>\n<template>\n <ScalarPopover\n :offset=\"4\"\n placement=\"left\"\n teleport>\n <button\n :aria-label=\"isInvalid ? 'Input is invalid' : 'More Information'\"\n class=\"text-c-2 hover:text-c-1 hover:bg-b-2 rounded p-1\"\n :role=\"isInvalid ? 'alert' : 'none'\"\n type=\"button\">\n <ScalarIconWarning\n v-if=\"isInvalid\"\n class=\"text-orange size-3.5 brightness-90 hover:brightness-75\" />\n <ScalarIconInfo\n v-else\n class=\"text-c-2 hover:text-c-1 size-3.5\" />\n </button>\n <template #popover>\n <div\n class=\"text-xxs text-c-1 grid w-fit max-w-xs min-w-0 gap-1.5 rounded px-1.5 pt-2 pb-1.5 leading-none break-words\"\n data-testid=\"request-table-tooltip-content\">\n <div\n v-if=\"invalidParameterMessage.ok === false\"\n class=\"text-error-1\">\n {{ invalidParameterMessage.message }}\n </div>\n <div\n v-else-if=\"\n schema &&\n ('type' in schema ||\n 'format' in schema ||\n 'minimum' in schema ||\n 'maximum' in schema ||\n 'default' in schema)\n \"\n class=\"schema text-c-2 truncate *:not-first:before:content-['_·_']\">\n <span v-if=\"'type' in schema\">{{ schema.type }}</span>\n <span v-if=\"'format' in schema\">{{ schema.format }}</span>\n <span v-if=\"'minimum' in schema\">min: {{ schema.minimum }}</span>\n <span v-if=\"'maximum' in schema\">max: {{ schema.maximum }}</span>\n <span v-if=\"'default' in schema\">default: {{ schema.default }}</span>\n </div>\n <ScalarMarkdown\n v-if=\"description && !isInvalid\"\n :value=\"description\" />\n </div>\n </template>\n </ScalarPopover>\n</template>\n"],"mappings":""}
@@ -4,7 +4,10 @@ import { ScalarMarkdown, ScalarPopover } from "@scalar/components";
4
4
  import { ScalarIconInfo, ScalarIconWarning } from "@scalar/icons";
5
5
  //#region src/v2/blocks/request-block/components/RequestTableTooltip.vue?vue&type=script&setup=true&lang.ts
6
6
  var _hoisted_1 = ["aria-label", "role"];
7
- var _hoisted_2 = { class: "w-content text-xxs text-c-1 grid min-w-48 gap-1.5 rounded px-1.5 pt-2 pb-1.5 leading-none *:max-w-64" };
7
+ var _hoisted_2 = {
8
+ class: "text-xxs text-c-1 grid w-fit max-w-xs min-w-0 gap-1.5 rounded px-1.5 pt-2 pb-1.5 leading-none break-words",
9
+ "data-testid": "request-table-tooltip-content"
10
+ };
8
11
  var _hoisted_3 = {
9
12
  key: 0,
10
13
  class: "text-error-1"
@@ -1 +1 @@
1
- {"version":3,"file":"RequestTableTooltip.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/request-block/components/RequestTableTooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdown, ScalarPopover } from '@scalar/components'\nimport { ScalarIconInfo, ScalarIconWarning } from '@scalar/icons'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { validateParameter } from '@/v2/blocks/request-block/helpers/validate-parameter'\n\nconst { schema, value, description } = defineProps<{\n schema?: SchemaObject\n value: string | File | null\n description?: string\n}>()\n\nconst invalidParameterMessage = computed(() => validateParameter(schema, value))\nconst isInvalid = computed(() => invalidParameterMessage.value.ok === false)\n</script>\n<template>\n <ScalarPopover\n :offset=\"4\"\n placement=\"left\"\n teleport>\n <button\n :aria-label=\"isInvalid ? 'Input is invalid' : 'More Information'\"\n class=\"text-c-2 hover:text-c-1 hover:bg-b-2 rounded p-1\"\n :role=\"isInvalid ? 'alert' : 'none'\"\n type=\"button\">\n <ScalarIconWarning\n v-if=\"isInvalid\"\n class=\"text-orange size-3.5 brightness-90 hover:brightness-75\" />\n <ScalarIconInfo\n v-else\n class=\"text-c-2 hover:text-c-1 size-3.5\" />\n </button>\n <template #popover>\n <div\n class=\"w-content text-xxs text-c-1 grid min-w-48 gap-1.5 rounded px-1.5 pt-2 pb-1.5 leading-none *:max-w-64\">\n <div\n v-if=\"invalidParameterMessage.ok === false\"\n class=\"text-error-1\">\n {{ invalidParameterMessage.message }}\n </div>\n <div\n v-else-if=\"\n schema &&\n ('type' in schema ||\n 'format' in schema ||\n 'minimum' in schema ||\n 'maximum' in schema ||\n 'default' in schema)\n \"\n class=\"schema text-c-2 truncate *:not-first:before:content-['_·_']\">\n <span v-if=\"'type' in schema\">{{ schema.type }}</span>\n <span v-if=\"'format' in schema\">{{ schema.format }}</span>\n <span v-if=\"'minimum' in schema\">min: {{ schema.minimum }}</span>\n <span v-if=\"'maximum' in schema\">max: {{ schema.maximum }}</span>\n <span v-if=\"'default' in schema\">default: {{ schema.default }}</span>\n </div>\n <ScalarMarkdown\n v-if=\"description && !isInvalid\"\n :value=\"description\" />\n </div>\n </template>\n </ScalarPopover>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcA,MAAM,0BAA0B,eAAe,kBAAkB,QAAA,QAAQ,QAAA,MAAM,CAAA;EAC/E,MAAM,YAAY,eAAe,wBAAwB,MAAM,OAAO,MAAK;;uBAGzE,YA6CgB,MAAA,cAAA,EAAA;IA5Cb,QAAQ;IACT,WAAU;IACV,UAAA;;IAaW,SAAO,cA2BV,CA1BN,mBA0BM,OA1BN,YA0BM,CAvBI,wBAAA,MAAwB,OAAE,SAAA,WAAA,EADlC,mBAIM,OAJN,YAIM,gBADD,wBAAA,MAAwB,QAAO,EAAA,EAAA,IAGV,QAAA,WAAA,UAAiC,QAAA,UAAA,YAAoC,QAAA,UAAA,aAAqC,QAAA,UAAA,aAAqC,QAAA,UAAA,aAAqC,QAAA,WAAA,WAAA,EAD9M,mBAeM,OAfN,YAeM;eALkB,QAAA,UAAA,WAAA,EAAtB,mBAAsD,QAAA,YAAA,gBAArB,QAAA,OAAO,KAAI,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;iBACpB,QAAA,UAAA,WAAA,EAAxB,mBAA0D,QAAA,YAAA,gBAAvB,QAAA,OAAO,OAAM,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;kBACvB,QAAA,UAAA,WAAA,EAAzB,mBAAiE,QAAA,YAAhC,UAAK,gBAAG,QAAA,OAAO,QAAO,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;kBAC9B,QAAA,UAAA,WAAA,EAAzB,mBAAiE,QAAA,YAAhC,UAAK,gBAAG,QAAA,OAAO,QAAO,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;kBAC9B,QAAA,UAAA,WAAA,EAAzB,mBAAqE,QAAA,YAApC,cAAS,gBAAG,QAAA,OAAO,QAAO,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;wCAGrD,QAAA,eAAW,CAAK,UAAA,SAAA,WAAA,EADxB,YAEyB,MAAA,eAAA,EAAA;;KAAtB,OAAO,QAAA;;2BA3BL,CAXT,mBAWS,UAAA;KAVN,cAAY,UAAA,QAAS,qBAAA;KACtB,OAAM;KACL,MAAM,UAAA,QAAS,UAAA;KAChB,MAAK;QAEG,UAAA,SAAA,WAAA,EADR,YAEmE,MAAA,kBAAA,EAAA;;KAAjE,OAAM;wBACR,YAE6C,MAAA,eAAA,EAAA;;KAA3C,OAAM"}
1
+ {"version":3,"file":"RequestTableTooltip.vue.script.js","names":[],"sources":["../../../../../src/v2/blocks/request-block/components/RequestTableTooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarMarkdown, ScalarPopover } from '@scalar/components'\nimport { ScalarIconInfo, ScalarIconWarning } from '@scalar/icons'\nimport type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed } from 'vue'\n\nimport { validateParameter } from '@/v2/blocks/request-block/helpers/validate-parameter'\n\nconst { schema, value, description } = defineProps<{\n schema?: SchemaObject\n value: string | File | null\n description?: string\n}>()\n\nconst invalidParameterMessage = computed(() => validateParameter(schema, value))\nconst isInvalid = computed(() => invalidParameterMessage.value.ok === false)\n</script>\n<template>\n <ScalarPopover\n :offset=\"4\"\n placement=\"left\"\n teleport>\n <button\n :aria-label=\"isInvalid ? 'Input is invalid' : 'More Information'\"\n class=\"text-c-2 hover:text-c-1 hover:bg-b-2 rounded p-1\"\n :role=\"isInvalid ? 'alert' : 'none'\"\n type=\"button\">\n <ScalarIconWarning\n v-if=\"isInvalid\"\n class=\"text-orange size-3.5 brightness-90 hover:brightness-75\" />\n <ScalarIconInfo\n v-else\n class=\"text-c-2 hover:text-c-1 size-3.5\" />\n </button>\n <template #popover>\n <div\n class=\"text-xxs text-c-1 grid w-fit max-w-xs min-w-0 gap-1.5 rounded px-1.5 pt-2 pb-1.5 leading-none break-words\"\n data-testid=\"request-table-tooltip-content\">\n <div\n v-if=\"invalidParameterMessage.ok === false\"\n class=\"text-error-1\">\n {{ invalidParameterMessage.message }}\n </div>\n <div\n v-else-if=\"\n schema &&\n ('type' in schema ||\n 'format' in schema ||\n 'minimum' in schema ||\n 'maximum' in schema ||\n 'default' in schema)\n \"\n class=\"schema text-c-2 truncate *:not-first:before:content-['_·_']\">\n <span v-if=\"'type' in schema\">{{ schema.type }}</span>\n <span v-if=\"'format' in schema\">{{ schema.format }}</span>\n <span v-if=\"'minimum' in schema\">min: {{ schema.minimum }}</span>\n <span v-if=\"'maximum' in schema\">max: {{ schema.maximum }}</span>\n <span v-if=\"'default' in schema\">default: {{ schema.default }}</span>\n </div>\n <ScalarMarkdown\n v-if=\"description && !isInvalid\"\n :value=\"description\" />\n </div>\n </template>\n </ScalarPopover>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcA,MAAM,0BAA0B,eAAe,kBAAkB,QAAA,QAAQ,QAAA,MAAM,CAAA;EAC/E,MAAM,YAAY,eAAe,wBAAwB,MAAM,OAAO,MAAK;;uBAGzE,YA8CgB,MAAA,cAAA,EAAA;IA7Cb,QAAQ;IACT,WAAU;IACV,UAAA;;IAaW,SAAO,cA4BV,CA3BN,mBA2BM,OA3BN,YA2BM,CAvBI,wBAAA,MAAwB,OAAE,SAAA,WAAA,EADlC,mBAIM,OAJN,YAIM,gBADD,wBAAA,MAAwB,QAAO,EAAA,EAAA,IAGV,QAAA,WAAA,UAAiC,QAAA,UAAA,YAAoC,QAAA,UAAA,aAAqC,QAAA,UAAA,aAAqC,QAAA,UAAA,aAAqC,QAAA,WAAA,WAAA,EAD9M,mBAeM,OAfN,YAeM;eALkB,QAAA,UAAA,WAAA,EAAtB,mBAAsD,QAAA,YAAA,gBAArB,QAAA,OAAO,KAAI,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;iBACpB,QAAA,UAAA,WAAA,EAAxB,mBAA0D,QAAA,YAAA,gBAAvB,QAAA,OAAO,OAAM,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;kBACvB,QAAA,UAAA,WAAA,EAAzB,mBAAiE,QAAA,YAAhC,UAAK,gBAAG,QAAA,OAAO,QAAO,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;kBAC9B,QAAA,UAAA,WAAA,EAAzB,mBAAiE,QAAA,YAAhC,UAAK,gBAAG,QAAA,OAAO,QAAO,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;kBAC9B,QAAA,UAAA,WAAA,EAAzB,mBAAqE,QAAA,YAApC,cAAS,gBAAG,QAAA,OAAO,QAAO,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;wCAGrD,QAAA,eAAW,CAAK,UAAA,SAAA,WAAA,EADxB,YAEyB,MAAA,eAAA,EAAA;;KAAtB,OAAO,QAAA;;2BA5BL,CAXT,mBAWS,UAAA;KAVN,cAAY,UAAA,QAAS,qBAAA;KACtB,OAAM;KACL,MAAM,UAAA,QAAS,UAAA;KAChB,MAAK;QAEG,UAAA,SAAA,WAAA,EADR,YAEmE,MAAA,kBAAA,EAAA;;KAAjE,OAAM;wBACR,YAE6C,MAAA,eAAA,EAAA;;KAA3C,OAAM"}
@@ -2,10 +2,11 @@ import type { OperationExampleMeta, WorkspaceEventBus } from '@scalar/workspace-
2
2
  import type { TableRow } from '../../../../v2/blocks/request-block/components/RequestTableRow.vue.js';
3
3
  type ParameterType = 'path' | 'cookie' | 'header' | 'query';
4
4
  /** Create parameter event handlers for a given type */
5
- export declare const createParameterHandlers: (type: ParameterType, eventBus: WorkspaceEventBus, meta: OperationExampleMeta, { context, defaultParameters, globalParameters, }: {
5
+ export declare const createParameterHandlers: (type: ParameterType, eventBus: WorkspaceEventBus, meta: OperationExampleMeta, { context, defaultParameters, globalParameters, onDeleteExpandedRow, }: {
6
6
  context: TableRow[];
7
7
  defaultParameters?: number;
8
8
  globalParameters?: number;
9
+ onDeleteExpandedRow?: (row: TableRow) => void;
9
10
  }) => {
10
11
  delete: (payload: {
11
12
  index: number;
@@ -1 +1 @@
1
- {"version":3,"file":"create-parameter-handlers.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/request-block/helpers/create-parameter-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAE7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0DAA0D,CAAA;AAExF,KAAK,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;AAE3D,uDAAuD;AACvD,eAAO,MAAM,uBAAuB,GAClC,MAAM,aAAa,EACnB,UAAU,iBAAiB,EAC3B,MAAM,oBAAoB,EAC1B,mDAIG;IACD,OAAO,EAAE,QAAQ,EAAE,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;sBAKmB;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;oBAqBnB,MAAM,WAAW;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;CA+BxF,CAAA"}
1
+ {"version":3,"file":"create-parameter-handlers.d.ts","sourceRoot":"","sources":["../../../../../src/v2/blocks/request-block/helpers/create-parameter-handlers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAE7F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0DAA0D,CAAA;AAExF,KAAK,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAA;AAmC3D,uDAAuD;AACvD,eAAO,MAAM,uBAAuB,GAClC,MAAM,aAAa,EACnB,UAAU,iBAAiB,EAC3B,MAAM,oBAAoB,EAC1B,wEAKG;IACD,OAAO,EAAE,QAAQ,EAAE,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAA;CAC9C;sBAKmB;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;;oBAuCnB,MAAM,WAAW;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;CAoCxF,CAAA"}