@scalar/api-client 2.38.4 → 2.39.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 (1884) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
  3. package/dist/assets/computer.ascii.virtual.js +6 -0
  4. package/dist/assets/computer.ascii.virtual.js.map +1 -0
  5. package/dist/assets/keycap.ascii.virtual.js +6 -0
  6. package/dist/assets/keycap.ascii.virtual.js.map +1 -0
  7. package/dist/assets/rabbit.ascii.virtual.js +6 -0
  8. package/dist/assets/rabbit.ascii.virtual.js.map +1 -0
  9. package/dist/assets/rabbitjump.ascii.virtual.js +6 -0
  10. package/dist/assets/rabbitjump.ascii.virtual.js.map +1 -0
  11. package/dist/components/AddressBar/AddressBar.vue.d.ts +1 -1
  12. package/dist/components/AddressBar/AddressBar.vue.js +9 -0
  13. package/dist/components/AddressBar/AddressBar.vue.js.map +1 -0
  14. package/dist/components/AddressBar/AddressBar.vue.script.js +204 -0
  15. package/dist/components/AddressBar/AddressBar.vue.script.js.map +1 -0
  16. package/dist/components/AddressBar/AddressBarHistory.vue.js +9 -0
  17. package/dist/components/AddressBar/AddressBarHistory.vue.js.map +1 -0
  18. package/dist/components/AddressBar/AddressBarHistory.vue.script.js +85 -0
  19. package/dist/components/AddressBar/AddressBarHistory.vue.script.js.map +1 -0
  20. package/dist/components/AddressBar/httpStatusCodeColors.js +20 -0
  21. package/dist/components/AddressBar/httpStatusCodeColors.js.map +1 -0
  22. package/dist/components/AddressBar/index.d.ts +1 -1
  23. package/dist/components/AddressBar/index.js +1 -4
  24. package/dist/components/CodeInput/CodeInput.vue.d.ts +1 -1
  25. package/dist/components/CodeInput/CodeInput.vue.js +10 -0
  26. package/dist/components/CodeInput/CodeInput.vue.js.map +1 -0
  27. package/dist/components/CodeInput/CodeInput.vue.script.js +294 -0
  28. package/dist/components/CodeInput/CodeInput.vue.script.js.map +1 -0
  29. package/dist/components/CodeInput/codeVariableWidget.d.ts +1 -1
  30. package/dist/components/CodeInput/codeVariableWidget.js +135 -0
  31. package/dist/components/CodeInput/codeVariableWidget.js.map +1 -0
  32. package/dist/components/CodeInput/index.d.ts +1 -1
  33. package/dist/components/CodeInput/index.js +1 -1
  34. package/dist/components/CommandPalette/CommandActionForm.vue.js +7 -0
  35. package/dist/components/CommandPalette/CommandActionForm.vue.js.map +1 -0
  36. package/dist/components/CommandPalette/CommandActionForm.vue.script.js +42 -0
  37. package/dist/components/CommandPalette/CommandActionForm.vue.script.js.map +1 -0
  38. package/dist/components/CommandPalette/CommandActionInput.vue.js +7 -0
  39. package/dist/components/CommandPalette/CommandActionInput.vue.js.map +1 -0
  40. package/dist/components/CommandPalette/CommandActionInput.vue.script.js +55 -0
  41. package/dist/components/CommandPalette/CommandActionInput.vue.script.js.map +1 -0
  42. package/dist/components/CommandPalette/CommandPaletteCollection.vue.js +7 -0
  43. package/dist/components/CommandPalette/CommandPaletteCollection.vue.js.map +1 -0
  44. package/dist/components/CommandPalette/CommandPaletteCollection.vue.script.js +78 -0
  45. package/dist/components/CommandPalette/CommandPaletteCollection.vue.script.js.map +1 -0
  46. package/dist/components/CommandPalette/CommandPaletteExample.vue.js +7 -0
  47. package/dist/components/CommandPalette/CommandPaletteExample.vue.js.map +1 -0
  48. package/dist/components/CommandPalette/CommandPaletteExample.vue.script.js +104 -0
  49. package/dist/components/CommandPalette/CommandPaletteExample.vue.script.js.map +1 -0
  50. package/dist/components/CommandPalette/CommandPaletteImport.vue.js +7 -0
  51. package/dist/components/CommandPalette/CommandPaletteImport.vue.js.map +1 -0
  52. package/dist/components/CommandPalette/CommandPaletteImport.vue.script.js +181 -0
  53. package/dist/components/CommandPalette/CommandPaletteImport.vue.script.js.map +1 -0
  54. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.js +9 -0
  55. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.js.map +1 -0
  56. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.script.js +108 -0
  57. package/dist/components/CommandPalette/CommandPaletteImportCurl.vue.script.js.map +1 -0
  58. package/dist/components/CommandPalette/CommandPaletteServer.vue.js +7 -0
  59. package/dist/components/CommandPalette/CommandPaletteServer.vue.js.map +1 -0
  60. package/dist/components/CommandPalette/CommandPaletteServer.vue.script.js +108 -0
  61. package/dist/components/CommandPalette/CommandPaletteServer.vue.script.js.map +1 -0
  62. package/dist/components/CommandPalette/CommandPaletteTag.vue.js +7 -0
  63. package/dist/components/CommandPalette/CommandPaletteTag.vue.js.map +1 -0
  64. package/dist/components/CommandPalette/CommandPaletteTag.vue.script.js +70 -0
  65. package/dist/components/CommandPalette/CommandPaletteTag.vue.script.js.map +1 -0
  66. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.js +7 -0
  67. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.js.map +1 -0
  68. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.script.js +49 -0
  69. package/dist/components/CommandPalette/CommandPaletteWorkspace.vue.script.js.map +1 -0
  70. package/dist/components/CommandPalette/TheCommandPalette.vue.js +9 -0
  71. package/dist/components/CommandPalette/TheCommandPalette.vue.js.map +1 -0
  72. package/dist/components/CommandPalette/TheCommandPalette.vue.script.js +323 -0
  73. package/dist/components/CommandPalette/TheCommandPalette.vue.script.js.map +1 -0
  74. package/dist/components/CommandPalette/WatchModeToggle.vue.js +7 -0
  75. package/dist/components/CommandPalette/WatchModeToggle.vue.js.map +1 -0
  76. package/dist/components/CommandPalette/WatchModeToggle.vue.script.js +40 -0
  77. package/dist/components/CommandPalette/WatchModeToggle.vue.script.js.map +1 -0
  78. package/dist/components/CommandPalette/index.d.ts +1 -1
  79. package/dist/components/CommandPalette/index.js +1 -2
  80. package/dist/components/DataTable/DataTable.vue.js +7 -0
  81. package/dist/components/DataTable/DataTable.vue.js.map +1 -0
  82. package/dist/components/DataTable/DataTable.vue.script.js +30 -0
  83. package/dist/components/DataTable/DataTable.vue.script.js.map +1 -0
  84. package/dist/components/DataTable/DataTableCell.vue.js +7 -0
  85. package/dist/components/DataTable/DataTableCell.vue.js.map +1 -0
  86. package/dist/components/DataTable/DataTableCell.vue.script.js +21 -0
  87. package/dist/components/DataTable/DataTableCell.vue.script.js.map +1 -0
  88. package/dist/components/DataTable/DataTableCheckbox.vue.js +7 -0
  89. package/dist/components/DataTable/DataTableCheckbox.vue.js.map +1 -0
  90. package/dist/components/DataTable/DataTableCheckbox.vue.script.js +43 -0
  91. package/dist/components/DataTable/DataTableCheckbox.vue.script.js.map +1 -0
  92. package/dist/components/DataTable/DataTableHeader.vue.js +7 -0
  93. package/dist/components/DataTable/DataTableHeader.vue.js.map +1 -0
  94. package/dist/components/DataTable/DataTableHeader.vue.script.js +20 -0
  95. package/dist/components/DataTable/DataTableHeader.vue.script.js.map +1 -0
  96. package/dist/components/DataTable/DataTableInput.vue.d.ts +1 -1
  97. package/dist/components/DataTable/DataTableInput.vue.js +9 -0
  98. package/dist/components/DataTable/DataTableInput.vue.js.map +1 -0
  99. package/dist/components/DataTable/DataTableInput.vue.script.js +164 -0
  100. package/dist/components/DataTable/DataTableInput.vue.script.js.map +1 -0
  101. package/dist/components/DataTable/DataTableInputSelect.vue.js +7 -0
  102. package/dist/components/DataTable/DataTableInputSelect.vue.js.map +1 -0
  103. package/dist/components/DataTable/DataTableInputSelect.vue.script.js +150 -0
  104. package/dist/components/DataTable/DataTableInputSelect.vue.script.js.map +1 -0
  105. package/dist/components/DataTable/DataTableRow.vue.js +13 -0
  106. package/dist/components/DataTable/DataTableRow.vue.js.map +1 -0
  107. package/dist/components/DataTable/DataTableText.vue.js +7 -0
  108. package/dist/components/DataTable/DataTableText.vue.js.map +1 -0
  109. package/dist/components/DataTable/DataTableText.vue.script.js +20 -0
  110. package/dist/components/DataTable/DataTableText.vue.script.js.map +1 -0
  111. package/dist/components/DataTable/index.d.ts +8 -8
  112. package/dist/components/DataTable/index.js +8 -5
  113. package/dist/components/EmptyState.vue.js +9 -0
  114. package/dist/components/EmptyState.vue.js.map +1 -0
  115. package/dist/components/EmptyState.vue.script.js +41 -0
  116. package/dist/components/EmptyState.vue.script.js.map +1 -0
  117. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.js +7 -0
  118. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.js.map +1 -0
  119. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.script.js +111 -0
  120. package/dist/components/EnvironmentSelector/EnvironmentSelector.vue.script.js.map +1 -0
  121. package/dist/components/Form/Form.vue.js +7 -0
  122. package/dist/components/Form/Form.vue.js.map +1 -0
  123. package/dist/components/Form/Form.vue.script.js +82 -0
  124. package/dist/components/Form/Form.vue.script.js.map +1 -0
  125. package/dist/components/Form/LabelInput.vue.d.ts +1 -1
  126. package/dist/components/Form/LabelInput.vue.js +9 -0
  127. package/dist/components/Form/LabelInput.vue.js.map +1 -0
  128. package/dist/components/Form/LabelInput.vue.script.js +39 -0
  129. package/dist/components/Form/LabelInput.vue.script.js.map +1 -0
  130. package/dist/components/HelpfulLink.vue.js +7 -0
  131. package/dist/components/HelpfulLink.vue.js.map +1 -0
  132. package/dist/components/HelpfulLink.vue.script.js +21 -0
  133. package/dist/components/HelpfulLink.vue.script.js.map +1 -0
  134. package/dist/components/HttpMethod/HttpMethod.vue.js +9 -0
  135. package/dist/components/HttpMethod/HttpMethod.vue.js.map +1 -0
  136. package/dist/components/HttpMethod/HttpMethod.vue.script.js +76 -0
  137. package/dist/components/HttpMethod/HttpMethod.vue.script.js.map +1 -0
  138. package/dist/components/HttpMethod/index.d.ts +1 -1
  139. package/dist/components/HttpMethod/index.js +1 -1
  140. package/dist/components/IconSelector.vue.js +7 -0
  141. package/dist/components/IconSelector.vue.js.map +1 -0
  142. package/dist/components/IconSelector.vue.script.js +65 -0
  143. package/dist/components/IconSelector.vue.script.js.map +1 -0
  144. package/dist/components/ImportCollection/DropEventListener.vue.js +7 -0
  145. package/dist/components/ImportCollection/DropEventListener.vue.js.map +1 -0
  146. package/dist/components/ImportCollection/DropEventListener.vue.script.js +91 -0
  147. package/dist/components/ImportCollection/DropEventListener.vue.script.js.map +1 -0
  148. package/dist/components/ImportCollection/ImportCollectionListener.vue.js +7 -0
  149. package/dist/components/ImportCollection/ImportCollectionListener.vue.js.map +1 -0
  150. package/dist/components/ImportCollection/ImportCollectionListener.vue.script.js +102 -0
  151. package/dist/components/ImportCollection/ImportCollectionListener.vue.script.js.map +1 -0
  152. package/dist/components/ImportCollection/ImportCollectionModal.vue.d.ts.map +1 -1
  153. package/dist/components/ImportCollection/ImportCollectionModal.vue.js +8 -0
  154. package/dist/components/ImportCollection/ImportCollectionModal.vue.js.map +1 -0
  155. package/dist/components/ImportCollection/ImportCollectionModal.vue.script.js +206 -0
  156. package/dist/components/ImportCollection/ImportCollectionModal.vue.script.js.map +1 -0
  157. package/dist/components/ImportCollection/ImportNowButton.vue.js +7 -0
  158. package/dist/components/ImportCollection/ImportNowButton.vue.js.map +1 -0
  159. package/dist/components/ImportCollection/ImportNowButton.vue.script.js +82 -0
  160. package/dist/components/ImportCollection/ImportNowButton.vue.script.js.map +1 -0
  161. package/dist/components/ImportCollection/IntegrationLogo.vue.js +7 -0
  162. package/dist/components/ImportCollection/IntegrationLogo.vue.js.map +1 -0
  163. package/dist/components/ImportCollection/IntegrationLogo.vue.script.js +50 -0
  164. package/dist/components/ImportCollection/IntegrationLogo.vue.script.js.map +1 -0
  165. package/dist/components/ImportCollection/PasteEventListener.vue.js +7 -0
  166. package/dist/components/ImportCollection/PasteEventListener.vue.js.map +1 -0
  167. package/dist/components/ImportCollection/PasteEventListener.vue.script.js +31 -0
  168. package/dist/components/ImportCollection/PasteEventListener.vue.script.js.map +1 -0
  169. package/dist/components/ImportCollection/PrefetchError.vue.js +7 -0
  170. package/dist/components/ImportCollection/PrefetchError.vue.js.map +1 -0
  171. package/dist/components/ImportCollection/PrefetchError.vue.script.js +32 -0
  172. package/dist/components/ImportCollection/PrefetchError.vue.script.js.map +1 -0
  173. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.js +7 -0
  174. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.js.map +1 -0
  175. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.script.js +21 -0
  176. package/dist/components/ImportCollection/UrlQueryParameterChecker.vue.script.js.map +1 -0
  177. package/dist/components/ImportCollection/WorkspaceSelector.vue.js +7 -0
  178. package/dist/components/ImportCollection/WorkspaceSelector.vue.js.map +1 -0
  179. package/dist/components/ImportCollection/WorkspaceSelector.vue.script.js +114 -0
  180. package/dist/components/ImportCollection/WorkspaceSelector.vue.script.js.map +1 -0
  181. package/dist/components/ImportCollection/hooks/useUrlPrefetcher.js +109 -0
  182. package/dist/components/ImportCollection/hooks/useUrlPrefetcher.js.map +1 -0
  183. package/dist/components/ImportCollection/index.d.ts +1 -1
  184. package/dist/components/ImportCollection/index.js +1 -1
  185. package/dist/components/ImportCollection/utils/get-openapi-version.js +26 -0
  186. package/dist/components/ImportCollection/utils/get-openapi-version.js.map +1 -0
  187. package/dist/components/ImportCollection/utils/import-collection.js +23 -0
  188. package/dist/components/ImportCollection/utils/import-collection.js.map +1 -0
  189. package/dist/components/ImportCollection/utils/is-document.js +12 -0
  190. package/dist/components/ImportCollection/utils/is-document.js.map +1 -0
  191. package/dist/components/ImportCollection/utils/is-url.js +14 -0
  192. package/dist/components/ImportCollection/utils/is-url.js.map +1 -0
  193. package/dist/components/ImportCollection/utils/workspace-store-is-empty.js +13 -0
  194. package/dist/components/ImportCollection/utils/workspace-store-is-empty.js.map +1 -0
  195. package/dist/components/OpenApiClientButton.vue.js +9 -0
  196. package/dist/components/OpenApiClientButton.vue.js.map +1 -0
  197. package/dist/components/OpenApiClientButton.vue.script.js +58 -0
  198. package/dist/components/OpenApiClientButton.vue.script.js.map +1 -0
  199. package/dist/components/ScalarAsciiArt.vue.js +9 -0
  200. package/dist/components/ScalarAsciiArt.vue.js.map +1 -0
  201. package/dist/components/ScalarAsciiArt.vue.script.js +42 -0
  202. package/dist/components/ScalarAsciiArt.vue.script.js.map +1 -0
  203. package/dist/components/Search/useSearch.js +110 -0
  204. package/dist/components/Search/useSearch.js.map +1 -0
  205. package/dist/components/SectionFilter.vue.js +9 -0
  206. package/dist/components/SectionFilter.vue.js.map +1 -0
  207. package/dist/components/SectionFilter.vue.script.js +69 -0
  208. package/dist/components/SectionFilter.vue.script.js.map +1 -0
  209. package/dist/components/SectionFilterButton.vue.js +7 -0
  210. package/dist/components/SectionFilterButton.vue.js.map +1 -0
  211. package/dist/components/SectionFilterButton.vue.script.js +30 -0
  212. package/dist/components/SectionFilterButton.vue.script.js.map +1 -0
  213. package/dist/components/Server/ServerDropdown.vue.js +7 -0
  214. package/dist/components/Server/ServerDropdown.vue.js.map +1 -0
  215. package/dist/components/Server/ServerDropdown.vue.script.js +133 -0
  216. package/dist/components/Server/ServerDropdown.vue.script.js.map +1 -0
  217. package/dist/components/Server/ServerDropdownItem.vue.js +9 -0
  218. package/dist/components/Server/ServerDropdownItem.vue.js.map +1 -0
  219. package/dist/components/Server/ServerDropdownItem.vue.script.js +90 -0
  220. package/dist/components/Server/ServerDropdownItem.vue.script.js.map +1 -0
  221. package/dist/components/Server/ServerSelector.vue.js +7 -0
  222. package/dist/components/Server/ServerSelector.vue.js.map +1 -0
  223. package/dist/components/Server/ServerSelector.vue.script.js +87 -0
  224. package/dist/components/Server/ServerSelector.vue.script.js.map +1 -0
  225. package/dist/components/Server/ServerVariablesForm.vue.js +7 -0
  226. package/dist/components/Server/ServerVariablesForm.vue.js.map +1 -0
  227. package/dist/components/Server/ServerVariablesForm.vue.script.js +64 -0
  228. package/dist/components/Server/ServerVariablesForm.vue.script.js.map +1 -0
  229. package/dist/components/Server/ServerVariablesSelect.vue.js +7 -0
  230. package/dist/components/Server/ServerVariablesSelect.vue.js.map +1 -0
  231. package/dist/components/Server/ServerVariablesSelect.vue.script.js +53 -0
  232. package/dist/components/Server/ServerVariablesSelect.vue.script.js.map +1 -0
  233. package/dist/components/Server/ServerVariablesTextbox.vue.js +7 -0
  234. package/dist/components/Server/ServerVariablesTextbox.vue.js.map +1 -0
  235. package/dist/components/Server/ServerVariablesTextbox.vue.script.js +34 -0
  236. package/dist/components/Server/ServerVariablesTextbox.vue.script.js.map +1 -0
  237. package/dist/components/Server/index.d.ts +3 -3
  238. package/dist/components/Server/index.js +3 -2
  239. package/dist/components/SideNav/DownloadAppButton.vue.js +9 -0
  240. package/dist/components/SideNav/DownloadAppButton.vue.js.map +1 -0
  241. package/dist/components/SideNav/DownloadAppButton.vue.script.js +31 -0
  242. package/dist/components/SideNav/DownloadAppButton.vue.script.js.map +1 -0
  243. package/dist/components/SideNav/SideHelp.vue.js +7 -0
  244. package/dist/components/SideNav/SideHelp.vue.js.map +1 -0
  245. package/dist/components/SideNav/SideHelp.vue.script.js +102 -0
  246. package/dist/components/SideNav/SideHelp.vue.script.js.map +1 -0
  247. package/dist/components/SideNav/SideNav.vue.js +7 -0
  248. package/dist/components/SideNav/SideNav.vue.js.map +1 -0
  249. package/dist/components/SideNav/SideNav.vue.script.js +80 -0
  250. package/dist/components/SideNav/SideNav.vue.script.js.map +1 -0
  251. package/dist/components/SideNav/SideNavGroup.vue.js +7 -0
  252. package/dist/components/SideNav/SideNavGroup.vue.js.map +1 -0
  253. package/dist/components/SideNav/SideNavGroup.vue.script.js +16 -0
  254. package/dist/components/SideNav/SideNavGroup.vue.script.js.map +1 -0
  255. package/dist/components/SideNav/SideNavLink.vue.js +7 -0
  256. package/dist/components/SideNav/SideNavLink.vue.js.map +1 -0
  257. package/dist/components/SideNav/SideNavLink.vue.script.js +32 -0
  258. package/dist/components/SideNav/SideNavLink.vue.script.js.map +1 -0
  259. package/dist/components/SideNav/SideNavRouterLink.vue.js +7 -0
  260. package/dist/components/SideNav/SideNavRouterLink.vue.js.map +1 -0
  261. package/dist/components/SideNav/SideNavRouterLink.vue.script.js +34 -0
  262. package/dist/components/SideNav/SideNavRouterLink.vue.script.js.map +1 -0
  263. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.js +7 -0
  264. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.js.map +1 -0
  265. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.script.js +38 -0
  266. package/dist/components/Sidebar/Actions/DeleteSidebarListElement.vue.script.js.map +1 -0
  267. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.js +7 -0
  268. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.js.map +1 -0
  269. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.script.js +56 -0
  270. package/dist/components/Sidebar/Actions/EditSidebarListCollection.vue.script.js.map +1 -0
  271. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.js +7 -0
  272. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.js.map +1 -0
  273. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.script.js +31 -0
  274. package/dist/components/Sidebar/Actions/EditSidebarListElement.vue.script.js.map +1 -0
  275. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.js +7 -0
  276. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.js.map +1 -0
  277. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.script.js +41 -0
  278. package/dist/components/Sidebar/Actions/SidebarListElementForm.vue.script.js.map +1 -0
  279. package/dist/components/Sidebar/Sidebar.vue.js +9 -0
  280. package/dist/components/Sidebar/Sidebar.vue.js.map +1 -0
  281. package/dist/components/Sidebar/Sidebar.vue.script.js +71 -0
  282. package/dist/components/Sidebar/Sidebar.vue.script.js.map +1 -0
  283. package/dist/components/Sidebar/SidebarButton.vue.js +7 -0
  284. package/dist/components/Sidebar/SidebarButton.vue.js.map +1 -0
  285. package/dist/components/Sidebar/SidebarButton.vue.script.js +36 -0
  286. package/dist/components/Sidebar/SidebarButton.vue.script.js.map +1 -0
  287. package/dist/components/Sidebar/SidebarList.vue.js +13 -0
  288. package/dist/components/Sidebar/SidebarList.vue.js.map +1 -0
  289. package/dist/components/Sidebar/SidebarListElement.vue.js +10 -0
  290. package/dist/components/Sidebar/SidebarListElement.vue.js.map +1 -0
  291. package/dist/components/Sidebar/SidebarListElement.vue.script.js +128 -0
  292. package/dist/components/Sidebar/SidebarListElement.vue.script.js.map +1 -0
  293. package/dist/components/Sidebar/SidebarListElementActions.vue.js +7 -0
  294. package/dist/components/Sidebar/SidebarListElementActions.vue.js.map +1 -0
  295. package/dist/components/Sidebar/SidebarListElementActions.vue.script.js +97 -0
  296. package/dist/components/Sidebar/SidebarListElementActions.vue.script.js.map +1 -0
  297. package/dist/components/Sidebar/SidebarToggle.vue.js +7 -0
  298. package/dist/components/Sidebar/SidebarToggle.vue.js.map +1 -0
  299. package/dist/components/Sidebar/SidebarToggle.vue.script.js +47 -0
  300. package/dist/components/Sidebar/SidebarToggle.vue.script.js.map +1 -0
  301. package/dist/components/Sidebar/index.d.ts +1 -1
  302. package/dist/components/Sidebar/index.js +1 -1
  303. package/dist/components/TopNav/TopNav.vue.js +7 -0
  304. package/dist/components/TopNav/TopNav.vue.js.map +1 -0
  305. package/dist/components/TopNav/TopNav.vue.script.js +232 -0
  306. package/dist/components/TopNav/TopNav.vue.script.js.map +1 -0
  307. package/dist/components/TopNav/TopNavItem.vue.d.ts.map +1 -1
  308. package/dist/components/TopNav/TopNavItem.vue.js +9 -0
  309. package/dist/components/TopNav/TopNavItem.vue.js.map +1 -0
  310. package/dist/components/TopNav/TopNavItem.vue.script.js +129 -0
  311. package/dist/components/TopNav/TopNavItem.vue.script.js.map +1 -0
  312. package/dist/components/ViewLayout/ViewLayout.vue.js +7 -0
  313. package/dist/components/ViewLayout/ViewLayout.vue.js.map +1 -0
  314. package/dist/components/ViewLayout/ViewLayout.vue.script.js +16 -0
  315. package/dist/components/ViewLayout/ViewLayout.vue.script.js.map +1 -0
  316. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.js +7 -0
  317. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.js.map +1 -0
  318. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.script.js +84 -0
  319. package/dist/components/ViewLayout/ViewLayoutCollapse.vue.script.js.map +1 -0
  320. package/dist/components/ViewLayout/ViewLayoutContent.vue.js +13 -0
  321. package/dist/components/ViewLayout/ViewLayoutContent.vue.js.map +1 -0
  322. package/dist/components/ViewLayout/ViewLayoutSection.vue.js +7 -0
  323. package/dist/components/ViewLayout/ViewLayoutSection.vue.js.map +1 -0
  324. package/dist/components/ViewLayout/ViewLayoutSection.vue.script.js +21 -0
  325. package/dist/components/ViewLayout/ViewLayoutSection.vue.script.js.map +1 -0
  326. package/dist/components/ViewLayout/index.d.ts +1 -1
  327. package/dist/components/ViewLayout/index.js +1 -1
  328. package/dist/components/index.d.ts +1 -1
  329. package/dist/components/index.js +3 -6
  330. package/dist/constants.js +27 -0
  331. package/dist/constants.js.map +1 -0
  332. package/dist/data/httpHeaders.js +539 -0
  333. package/dist/data/httpHeaders.js.map +1 -0
  334. package/dist/hooks/index.d.ts +4 -4
  335. package/dist/hooks/index.js +4 -2
  336. package/dist/hooks/useClientConfig.js +10 -0
  337. package/dist/hooks/useClientConfig.js.map +1 -0
  338. package/dist/hooks/useFileDialog.js +33 -0
  339. package/dist/hooks/useFileDialog.js.map +1 -0
  340. package/dist/hooks/useLayout.js +13 -0
  341. package/dist/hooks/useLayout.js.map +1 -0
  342. package/dist/hooks/useResponseBody.js +32 -0
  343. package/dist/hooks/useResponseBody.js.map +1 -0
  344. package/dist/hooks/useSidebar.d.ts +1 -1
  345. package/dist/hooks/useSidebar.js +36 -0
  346. package/dist/hooks/useSidebar.js.map +1 -0
  347. package/dist/index.d.ts +1 -1
  348. package/dist/index.js +5 -7
  349. package/dist/layouts/App/ApiClientApp.vue.js +8 -0
  350. package/dist/layouts/App/ApiClientApp.vue.js.map +1 -0
  351. package/dist/layouts/App/ApiClientApp.vue.script.js +80 -0
  352. package/dist/layouts/App/ApiClientApp.vue.script.js.map +1 -0
  353. package/dist/layouts/App/MainLayout.vue.js +7 -0
  354. package/dist/layouts/App/MainLayout.vue.js.map +1 -0
  355. package/dist/layouts/App/MainLayout.vue.script.js +22 -0
  356. package/dist/layouts/App/MainLayout.vue.script.js.map +1 -0
  357. package/dist/layouts/App/create-api-client-app.d.ts +1 -1
  358. package/dist/layouts/App/create-api-client-app.d.ts.map +1 -1
  359. package/dist/layouts/App/create-api-client-app.js +36 -0
  360. package/dist/layouts/App/create-api-client-app.js.map +1 -0
  361. package/dist/layouts/App/hotkeys.js +74 -0
  362. package/dist/layouts/App/hotkeys.js.map +1 -0
  363. package/dist/layouts/App/index.d.ts +2 -2
  364. package/dist/layouts/App/index.js +2 -4
  365. package/dist/layouts/Modal/ApiClientModal.vue.js +7 -0
  366. package/dist/layouts/Modal/ApiClientModal.vue.js.map +1 -0
  367. package/dist/layouts/Modal/ApiClientModal.vue.script.js +41 -0
  368. package/dist/layouts/Modal/ApiClientModal.vue.script.js.map +1 -0
  369. package/dist/layouts/Modal/create-api-client-modal.js +34 -0
  370. package/dist/layouts/Modal/create-api-client-modal.js.map +1 -0
  371. package/dist/layouts/Modal/index.d.ts +1 -1
  372. package/dist/layouts/Modal/index.js +1 -2
  373. package/dist/layouts/Web/ApiClientWeb.vue.js +8 -0
  374. package/dist/layouts/Web/ApiClientWeb.vue.js.map +1 -0
  375. package/dist/layouts/Web/ApiClientWeb.vue.script.js +68 -0
  376. package/dist/layouts/Web/ApiClientWeb.vue.script.js.map +1 -0
  377. package/dist/layouts/Web/create-api-client-web.d.ts +1 -1
  378. package/dist/layouts/Web/create-api-client-web.d.ts.map +1 -1
  379. package/dist/layouts/Web/create-api-client-web.js +33 -0
  380. package/dist/layouts/Web/create-api-client-web.js.map +1 -0
  381. package/dist/layouts/Web/index.d.ts +2 -2
  382. package/dist/layouts/Web/index.js +2 -101
  383. package/dist/libs/create-client.d.ts +9 -9
  384. package/dist/libs/create-client.js +178 -0
  385. package/dist/libs/create-client.js.map +1 -0
  386. package/dist/libs/electron.js +9 -0
  387. package/dist/libs/electron.js.map +1 -0
  388. package/dist/libs/env-helpers.js +9 -0
  389. package/dist/libs/env-helpers.js.map +1 -0
  390. package/dist/libs/environment-parser.d.ts +1 -1
  391. package/dist/libs/environment-parser.js +19 -0
  392. package/dist/libs/environment-parser.js.map +1 -0
  393. package/dist/libs/errors.js +34 -0
  394. package/dist/libs/errors.js.map +1 -0
  395. package/dist/libs/event-bus.js +43 -0
  396. package/dist/libs/event-bus.js.map +1 -0
  397. package/dist/libs/extractAttachmentFilename.js +23 -0
  398. package/dist/libs/extractAttachmentFilename.js.map +1 -0
  399. package/dist/libs/find-request.js +40 -0
  400. package/dist/libs/find-request.js.map +1 -0
  401. package/dist/libs/formatters.js +36 -0
  402. package/dist/libs/formatters.js.map +1 -0
  403. package/dist/libs/get-request-uid-by-path-method.d.ts +1 -1
  404. package/dist/libs/get-request-uid-by-path-method.js +19 -0
  405. package/dist/libs/get-request-uid-by-path-method.js.map +1 -0
  406. package/dist/libs/getOpenApiDocumentDetails.js +45 -0
  407. package/dist/libs/getOpenApiDocumentDetails.js.map +1 -0
  408. package/dist/libs/hot-keys.js +92 -0
  409. package/dist/libs/hot-keys.js.map +1 -0
  410. package/dist/libs/importers/curl.js +54 -0
  411. package/dist/libs/importers/curl.js.map +1 -0
  412. package/dist/libs/importers/index.d.ts +1 -1
  413. package/dist/libs/importers/index.js +1 -1
  414. package/dist/libs/index.d.ts +14 -14
  415. package/dist/libs/index.js +17 -5
  416. package/dist/libs/isUrl.js +12 -0
  417. package/dist/libs/isUrl.js.map +1 -0
  418. package/dist/libs/local-storage.js +40 -0
  419. package/dist/libs/local-storage.js.map +1 -0
  420. package/dist/libs/normalize-headers.js +55 -0
  421. package/dist/libs/normalize-headers.js.map +1 -0
  422. package/dist/libs/parse-curl.js +106 -0
  423. package/dist/libs/parse-curl.js.map +1 -0
  424. package/dist/libs/postman.js +40 -0
  425. package/dist/libs/postman.js.map +1 -0
  426. package/dist/libs/send-request/build-request-security.js +41 -0
  427. package/dist/libs/send-request/build-request-security.js.map +1 -0
  428. package/dist/libs/send-request/create-fetch-body.js +44 -0
  429. package/dist/libs/send-request/create-fetch-body.js.map +1 -0
  430. package/dist/libs/send-request/create-fetch-headers.js +15 -0
  431. package/dist/libs/send-request/create-fetch-headers.js.map +1 -0
  432. package/dist/libs/send-request/create-fetch-query-params.js +43 -0
  433. package/dist/libs/send-request/create-fetch-query-params.js.map +1 -0
  434. package/dist/libs/send-request/create-request-operation.d.ts +2 -2
  435. package/dist/libs/send-request/create-request-operation.js +172 -0
  436. package/dist/libs/send-request/create-request-operation.js.map +1 -0
  437. package/dist/libs/send-request/decode-buffer.js +13 -0
  438. package/dist/libs/send-request/decode-buffer.js.map +1 -0
  439. package/dist/libs/send-request/index.d.ts +3 -3
  440. package/dist/libs/send-request/index.js +3 -2
  441. package/dist/libs/send-request/set-request-cookies.js +82 -0
  442. package/dist/libs/send-request/set-request-cookies.js.map +1 -0
  443. package/dist/libs/string-template.js +64 -0
  444. package/dist/libs/string-template.js.map +1 -0
  445. package/dist/libs/validate-parameters.js +35 -0
  446. package/dist/libs/validate-parameters.js.map +1 -0
  447. package/dist/plugins/hooks/usePluginManager.d.ts +1 -1
  448. package/dist/plugins/hooks/usePluginManager.js +16 -0
  449. package/dist/plugins/hooks/usePluginManager.js.map +1 -0
  450. package/dist/plugins/index.d.ts +2 -2
  451. package/dist/plugins/index.js +2 -1
  452. package/dist/plugins/plugin-manager.js +38 -0
  453. package/dist/plugins/plugin-manager.js.map +1 -0
  454. package/dist/routes.js +225 -0
  455. package/dist/routes.js.map +1 -0
  456. package/dist/store/active-entities.js +139 -0
  457. package/dist/store/active-entities.js.map +1 -0
  458. package/dist/store/collections.js +76 -0
  459. package/dist/store/collections.js.map +1 -0
  460. package/dist/store/cookies.js +16 -0
  461. package/dist/store/cookies.js.map +1 -0
  462. package/dist/store/environment.js +38 -0
  463. package/dist/store/environment.js.map +1 -0
  464. package/dist/store/events.d.ts +7 -7
  465. package/dist/store/events.js +17 -0
  466. package/dist/store/events.js.map +1 -0
  467. package/dist/store/import-spec.js +56 -0
  468. package/dist/store/import-spec.js.map +1 -0
  469. package/dist/store/index.d.ts +2 -2
  470. package/dist/store/index.js +2 -1
  471. package/dist/store/request-example.js +43 -0
  472. package/dist/store/request-example.js.map +1 -0
  473. package/dist/store/requests.d.ts +1 -1
  474. package/dist/store/requests.js +104 -0
  475. package/dist/store/requests.js.map +1 -0
  476. package/dist/store/router-params.js +27 -0
  477. package/dist/store/router-params.js.map +1 -0
  478. package/dist/store/security-schemes.js +45 -0
  479. package/dist/store/security-schemes.js.map +1 -0
  480. package/dist/store/servers.js +41 -0
  481. package/dist/store/servers.js.map +1 -0
  482. package/dist/store/store.d.ts +1 -1
  483. package/dist/store/store.js +180 -0
  484. package/dist/store/store.js.map +1 -0
  485. package/dist/store/tags.js +54 -0
  486. package/dist/store/tags.js.map +1 -0
  487. package/dist/store/workspace.js +57 -0
  488. package/dist/store/workspace.js.map +1 -0
  489. package/dist/style.css +2793 -2639
  490. package/dist/v2/blocks/operation-block/OperationBlock.vue.d.ts +2 -2
  491. package/dist/v2/blocks/operation-block/OperationBlock.vue.js +7 -0
  492. package/dist/v2/blocks/operation-block/OperationBlock.vue.js.map +1 -0
  493. package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js +302 -0
  494. package/dist/v2/blocks/operation-block/OperationBlock.vue.script.js.map +1 -0
  495. package/dist/v2/blocks/operation-block/components/Header.vue.js +9 -0
  496. package/dist/v2/blocks/operation-block/components/Header.vue.js.map +1 -0
  497. package/dist/v2/blocks/operation-block/components/Header.vue.script.js +126 -0
  498. package/dist/v2/blocks/operation-block/components/Header.vue.script.js.map +1 -0
  499. package/dist/v2/blocks/operation-block/helpers/apply-allow-reserved-to-url.js +58 -0
  500. package/dist/v2/blocks/operation-block/helpers/apply-allow-reserved-to-url.js.map +1 -0
  501. package/dist/v2/blocks/operation-block/helpers/build-request-body.js +65 -0
  502. package/dist/v2/blocks/operation-block/helpers/build-request-body.js.map +1 -0
  503. package/dist/v2/blocks/operation-block/helpers/build-request-cookie-header.js +55 -0
  504. package/dist/v2/blocks/operation-block/helpers/build-request-cookie-header.js.map +1 -0
  505. package/dist/v2/blocks/operation-block/helpers/build-request-parameters.js +159 -0
  506. package/dist/v2/blocks/operation-block/helpers/build-request-parameters.js.map +1 -0
  507. package/dist/v2/blocks/operation-block/helpers/build-request-security.d.ts +1 -1
  508. package/dist/v2/blocks/operation-block/helpers/build-request-security.js +53 -0
  509. package/dist/v2/blocks/operation-block/helpers/build-request-security.js.map +1 -0
  510. package/dist/v2/blocks/operation-block/helpers/build-request.d.ts +1 -1
  511. package/dist/v2/blocks/operation-block/helpers/build-request.js +102 -0
  512. package/dist/v2/blocks/operation-block/helpers/build-request.js.map +1 -0
  513. package/dist/v2/blocks/operation-block/helpers/de-serialize-parameter.js +41 -0
  514. package/dist/v2/blocks/operation-block/helpers/de-serialize-parameter.js.map +1 -0
  515. package/dist/v2/blocks/operation-block/helpers/decode-buffer.js +17 -0
  516. package/dist/v2/blocks/operation-block/helpers/decode-buffer.js.map +1 -0
  517. package/dist/v2/blocks/operation-block/helpers/filter-global-cookies.js +20 -0
  518. package/dist/v2/blocks/operation-block/helpers/filter-global-cookies.js.map +1 -0
  519. package/dist/v2/blocks/operation-block/helpers/get-cookie-header-keys.js +22 -0
  520. package/dist/v2/blocks/operation-block/helpers/get-cookie-header-keys.js.map +1 -0
  521. package/dist/v2/blocks/operation-block/helpers/get-environment-variables.js +17 -0
  522. package/dist/v2/blocks/operation-block/helpers/get-environment-variables.js.map +1 -0
  523. package/dist/v2/blocks/operation-block/helpers/get-example.js +41 -0
  524. package/dist/v2/blocks/operation-block/helpers/get-example.js.map +1 -0
  525. package/dist/v2/blocks/operation-block/helpers/get-resolved-url.js +32 -0
  526. package/dist/v2/blocks/operation-block/helpers/get-resolved-url.js.map +1 -0
  527. package/dist/v2/blocks/operation-block/helpers/get-selected-body-content-type.js +15 -0
  528. package/dist/v2/blocks/operation-block/helpers/get-selected-body-content-type.js.map +1 -0
  529. package/dist/v2/blocks/operation-block/helpers/get-server-url.js +18 -0
  530. package/dist/v2/blocks/operation-block/helpers/get-server-url.js.map +1 -0
  531. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.js +80 -0
  532. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-request.js.map +1 -0
  533. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-response.d.ts +1 -1
  534. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-response.js +109 -0
  535. package/dist/v2/blocks/operation-block/helpers/har-to-fetch-response.js.map +1 -0
  536. package/dist/v2/blocks/operation-block/helpers/response-cache.js +34 -0
  537. package/dist/v2/blocks/operation-block/helpers/response-cache.js.map +1 -0
  538. package/dist/v2/blocks/operation-block/helpers/send-request.d.ts +1 -1
  539. package/dist/v2/blocks/operation-block/helpers/send-request.js +149 -0
  540. package/dist/v2/blocks/operation-block/helpers/send-request.js.map +1 -0
  541. package/dist/v2/blocks/operation-block/helpers/serialize-parameter.js +160 -0
  542. package/dist/v2/blocks/operation-block/helpers/serialize-parameter.js.map +1 -0
  543. package/dist/v2/blocks/operation-block/helpers/validate-path-parameters.js +34 -0
  544. package/dist/v2/blocks/operation-block/helpers/validate-path-parameters.js.map +1 -0
  545. package/dist/v2/blocks/operation-block/index.d.ts +4 -4
  546. package/dist/v2/blocks/operation-block/index.js +4 -19
  547. package/dist/v2/blocks/operation-code-sample/components/ExamplePicker.vue.js +7 -0
  548. package/dist/v2/blocks/operation-code-sample/components/ExamplePicker.vue.js.map +1 -0
  549. package/dist/v2/blocks/operation-code-sample/components/ExamplePicker.vue.script.js +52 -0
  550. package/dist/v2/blocks/operation-code-sample/components/ExamplePicker.vue.script.js.map +1 -0
  551. package/dist/v2/blocks/operation-code-sample/components/HttpMethod.vue.js +7 -0
  552. package/dist/v2/blocks/operation-code-sample/components/HttpMethod.vue.js.map +1 -0
  553. package/dist/v2/blocks/operation-code-sample/components/HttpMethod.vue.script.js +33 -0
  554. package/dist/v2/blocks/operation-code-sample/components/HttpMethod.vue.script.js.map +1 -0
  555. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.d.ts.map +1 -1
  556. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.js +9 -0
  557. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.js.map +1 -0
  558. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.script.js +246 -0
  559. package/dist/v2/blocks/operation-code-sample/components/OperationCodeSample.vue.script.js.map +1 -0
  560. package/dist/v2/blocks/operation-code-sample/helpers/filter-clients-by-query.d.ts +9 -0
  561. package/dist/v2/blocks/operation-code-sample/helpers/filter-clients-by-query.d.ts.map +1 -0
  562. package/dist/v2/blocks/operation-code-sample/helpers/filter-clients-by-query.js +37 -0
  563. package/dist/v2/blocks/operation-code-sample/helpers/filter-clients-by-query.js.map +1 -0
  564. package/dist/v2/blocks/operation-code-sample/helpers/find-client.js +55 -0
  565. package/dist/v2/blocks/operation-code-sample/helpers/find-client.js.map +1 -0
  566. package/dist/v2/blocks/operation-code-sample/helpers/generate-client-options.d.ts.map +1 -1
  567. package/dist/v2/blocks/operation-code-sample/helpers/generate-client-options.js +40 -0
  568. package/dist/v2/blocks/operation-code-sample/helpers/generate-client-options.js.map +1 -0
  569. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.d.ts +1 -1
  570. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.js +36 -0
  571. package/dist/v2/blocks/operation-code-sample/helpers/generate-code-snippet.js.map +1 -0
  572. package/dist/v2/blocks/operation-code-sample/helpers/get-clients.d.ts.map +1 -1
  573. package/dist/v2/blocks/operation-code-sample/helpers/get-clients.js +31 -0
  574. package/dist/v2/blocks/operation-code-sample/helpers/get-clients.js.map +1 -0
  575. package/dist/v2/blocks/operation-code-sample/helpers/get-custom-code-samples.js +18 -0
  576. package/dist/v2/blocks/operation-code-sample/helpers/get-custom-code-samples.js.map +1 -0
  577. package/dist/v2/blocks/operation-code-sample/helpers/get-example-from-schema.js +411 -0
  578. package/dist/v2/blocks/operation-code-sample/helpers/get-example-from-schema.js.map +1 -0
  579. package/dist/v2/blocks/operation-code-sample/helpers/get-resolved-ref-deep.js +41 -0
  580. package/dist/v2/blocks/operation-code-sample/helpers/get-resolved-ref-deep.js.map +1 -0
  581. package/dist/v2/blocks/operation-code-sample/helpers/get-secrets.js +18 -0
  582. package/dist/v2/blocks/operation-code-sample/helpers/get-secrets.js.map +1 -0
  583. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js +106 -0
  584. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/operation-to-har.js.map +1 -0
  585. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.d.ts +1 -1
  586. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js +112 -0
  587. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-body.js.map +1 -0
  588. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-parameters.js +216 -0
  589. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-parameters.js.map +1 -0
  590. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-security-schemes.js +65 -0
  591. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-security-schemes.js.map +1 -0
  592. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-server-url.js +19 -0
  593. package/dist/v2/blocks/operation-code-sample/helpers/operation-to-har/process-server-url.js.map +1 -0
  594. package/dist/v2/blocks/operation-code-sample/index.d.ts +7 -6
  595. package/dist/v2/blocks/operation-code-sample/index.d.ts.map +1 -1
  596. package/dist/v2/blocks/operation-code-sample/index.js +8 -2
  597. package/dist/v2/blocks/operation-code-sample/types.d.ts +7 -6
  598. package/dist/v2/blocks/operation-code-sample/types.d.ts.map +1 -1
  599. package/dist/v2/blocks/request-block/RequestBlock.vue.js +9 -0
  600. package/dist/v2/blocks/request-block/RequestBlock.vue.js.map +1 -0
  601. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js +412 -0
  602. package/dist/v2/blocks/request-block/RequestBlock.vue.script.js.map +1 -0
  603. package/dist/v2/blocks/request-block/components/RequestBody.vue.js +9 -0
  604. package/dist/v2/blocks/request-block/components/RequestBody.vue.js.map +1 -0
  605. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js +188 -0
  606. package/dist/v2/blocks/request-block/components/RequestBody.vue.script.js.map +1 -0
  607. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.js +7 -0
  608. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.js.map +1 -0
  609. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.script.js +98 -0
  610. package/dist/v2/blocks/request-block/components/RequestBodyForm.vue.script.js.map +1 -0
  611. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.d.ts +1 -1
  612. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.js +7 -0
  613. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.js.map +1 -0
  614. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js +128 -0
  615. package/dist/v2/blocks/request-block/components/RequestCodeSnippet.vue.script.js.map +1 -0
  616. package/dist/v2/blocks/request-block/components/RequestParams.vue.d.ts +1 -1
  617. package/dist/v2/blocks/request-block/components/RequestParams.vue.js +7 -0
  618. package/dist/v2/blocks/request-block/components/RequestParams.vue.js.map +1 -0
  619. package/dist/v2/blocks/request-block/components/RequestParams.vue.script.js +97 -0
  620. package/dist/v2/blocks/request-block/components/RequestParams.vue.script.js.map +1 -0
  621. package/dist/v2/blocks/request-block/components/RequestTable.vue.d.ts +1 -1
  622. package/dist/v2/blocks/request-block/components/RequestTable.vue.js +9 -0
  623. package/dist/v2/blocks/request-block/components/RequestTable.vue.js.map +1 -0
  624. package/dist/v2/blocks/request-block/components/RequestTable.vue.script.js +113 -0
  625. package/dist/v2/blocks/request-block/components/RequestTable.vue.script.js.map +1 -0
  626. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.js +7 -0
  627. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.js.map +1 -0
  628. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js +226 -0
  629. package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js.map +1 -0
  630. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.js +9 -0
  631. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.js.map +1 -0
  632. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js +68 -0
  633. package/dist/v2/blocks/request-block/components/RequestTableTooltip.vue.script.js.map +1 -0
  634. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.d.ts +1 -1
  635. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js +47 -0
  636. package/dist/v2/blocks/request-block/helpers/create-parameter-handlers.js.map +1 -0
  637. package/dist/v2/blocks/request-block/helpers/files.js +11 -0
  638. package/dist/v2/blocks/request-block/helpers/files.js.map +1 -0
  639. package/dist/v2/blocks/request-block/helpers/get-default-headers.js +61 -0
  640. package/dist/v2/blocks/request-block/helpers/get-default-headers.js.map +1 -0
  641. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.d.ts +1 -1
  642. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js +46 -0
  643. package/dist/v2/blocks/request-block/helpers/get-form-body-rows.js.map +1 -0
  644. package/dist/v2/blocks/request-block/helpers/get-parameter-content.js +17 -0
  645. package/dist/v2/blocks/request-block/helpers/get-parameter-content.js.map +1 -0
  646. package/dist/v2/blocks/request-block/helpers/get-parameter-schema.js +14 -0
  647. package/dist/v2/blocks/request-block/helpers/get-parameter-schema.js.map +1 -0
  648. package/dist/v2/blocks/request-block/helpers/get-request-body-example.js +21 -0
  649. package/dist/v2/blocks/request-block/helpers/get-request-body-example.js.map +1 -0
  650. package/dist/v2/blocks/request-block/helpers/group-by.js +15 -0
  651. package/dist/v2/blocks/request-block/helpers/group-by.js.map +1 -0
  652. package/dist/v2/blocks/request-block/helpers/is-param-disabled.js +20 -0
  653. package/dist/v2/blocks/request-block/helpers/is-param-disabled.js.map +1 -0
  654. package/dist/v2/blocks/request-block/helpers/validate-parameter.js +49 -0
  655. package/dist/v2/blocks/request-block/helpers/validate-parameter.js.map +1 -0
  656. package/dist/v2/blocks/request-block/index.d.ts +1 -1
  657. package/dist/v2/blocks/request-block/index.js +1 -8
  658. package/dist/v2/blocks/response-block/ResponseBlock.vue.js +9 -0
  659. package/dist/v2/blocks/response-block/ResponseBlock.vue.js.map +1 -0
  660. package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js +204 -0
  661. package/dist/v2/blocks/response-block/ResponseBlock.vue.script.js.map +1 -0
  662. package/dist/v2/blocks/response-block/components/Headers.vue.js +7 -0
  663. package/dist/v2/blocks/response-block/components/Headers.vue.js.map +1 -0
  664. package/dist/v2/blocks/response-block/components/Headers.vue.script.js +77 -0
  665. package/dist/v2/blocks/response-block/components/Headers.vue.script.js.map +1 -0
  666. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js +9 -0
  667. package/dist/v2/blocks/response-block/components/ResponseBody.vue.js.map +1 -0
  668. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js +90 -0
  669. package/dist/v2/blocks/response-block/components/ResponseBody.vue.script.js.map +1 -0
  670. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.js +7 -0
  671. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.js.map +1 -0
  672. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.script.js +35 -0
  673. package/dist/v2/blocks/response-block/components/ResponseBodyDownload.vue.script.js.map +1 -0
  674. package/dist/v2/blocks/response-block/components/ResponseBodyInfo.vue.js +14 -0
  675. package/dist/v2/blocks/response-block/components/ResponseBodyInfo.vue.js.map +1 -0
  676. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js +9 -0
  677. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.js.map +1 -0
  678. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js +64 -0
  679. package/dist/v2/blocks/response-block/components/ResponseBodyPreview.vue.script.js.map +1 -0
  680. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js +9 -0
  681. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.js.map +1 -0
  682. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js +49 -0
  683. package/dist/v2/blocks/response-block/components/ResponseBodyRaw.vue.script.js.map +1 -0
  684. package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue.js +7 -0
  685. package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue.js.map +1 -0
  686. package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue.script.js +111 -0
  687. package/dist/v2/blocks/response-block/components/ResponseBodyStreaming.vue.script.js.map +1 -0
  688. package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue.js +7 -0
  689. package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue.js.map +1 -0
  690. package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue.script.js +25 -0
  691. package/dist/v2/blocks/response-block/components/ResponseBodyToggle.vue.script.js.map +1 -0
  692. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.js +8 -0
  693. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.js.map +1 -0
  694. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.script.js +50 -0
  695. package/dist/v2/blocks/response-block/components/ResponseBodyVirtual.vue.script.js.map +1 -0
  696. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.js +7 -0
  697. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.js.map +1 -0
  698. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.script.js +42 -0
  699. package/dist/v2/blocks/response-block/components/ResponseCookies.vue.script.js.map +1 -0
  700. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js +9 -0
  701. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.js.map +1 -0
  702. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js +69 -0
  703. package/dist/v2/blocks/response-block/components/ResponseEmpty.vue.script.js.map +1 -0
  704. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js +9 -0
  705. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.js.map +1 -0
  706. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.js +52 -0
  707. package/dist/v2/blocks/response-block/components/ResponseLoadingOverlay.vue.script.js.map +1 -0
  708. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.js +7 -0
  709. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.js.map +1 -0
  710. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.script.js +68 -0
  711. package/dist/v2/blocks/response-block/components/ResponseMetaInformation.vue.script.js.map +1 -0
  712. package/dist/v2/blocks/response-block/helpers/extract-filename.js +26 -0
  713. package/dist/v2/blocks/response-block/helpers/extract-filename.js.map +1 -0
  714. package/dist/v2/blocks/response-block/helpers/get-content-length.js +12 -0
  715. package/dist/v2/blocks/response-block/helpers/get-content-length.js.map +1 -0
  716. package/dist/v2/blocks/response-block/helpers/media-types.js +227 -0
  717. package/dist/v2/blocks/response-block/helpers/media-types.js.map +1 -0
  718. package/dist/v2/blocks/response-block/helpers/parse-set-cookie.js +30 -0
  719. package/dist/v2/blocks/response-block/helpers/parse-set-cookie.js.map +1 -0
  720. package/dist/v2/blocks/response-block/helpers/process-response-body.js +26 -0
  721. package/dist/v2/blocks/response-block/helpers/process-response-body.js.map +1 -0
  722. package/dist/v2/blocks/response-block/index.d.ts +1 -1
  723. package/dist/v2/blocks/response-block/index.js +1 -5
  724. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.d.ts +1 -1
  725. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js +9 -0
  726. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.js.map +1 -0
  727. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js +248 -0
  728. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBar.vue.script.js.map +1 -0
  729. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.js +9 -0
  730. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.js.map +1 -0
  731. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js +84 -0
  732. package/dist/v2/blocks/scalar-address-bar-block/components/AddressBarHistory.vue.script.js.map +1 -0
  733. package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue.js +7 -0
  734. package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue.js.map +1 -0
  735. package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue.script.js +141 -0
  736. package/dist/v2/blocks/scalar-address-bar-block/components/EnvironmentSelector.vue.script.js.map +1 -0
  737. package/dist/v2/blocks/scalar-address-bar-block/components/httpStatusCodeColors.js +20 -0
  738. package/dist/v2/blocks/scalar-address-bar-block/components/httpStatusCodeColors.js.map +1 -0
  739. package/dist/v2/blocks/scalar-address-bar-block/hooks/use-loading-animation.js +84 -0
  740. package/dist/v2/blocks/scalar-address-bar-block/hooks/use-loading-animation.js.map +1 -0
  741. package/dist/v2/blocks/scalar-address-bar-block/index.d.ts +2 -2
  742. package/dist/v2/blocks/scalar-address-bar-block/index.js +1 -4
  743. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.d.ts +3 -3
  744. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.js +7 -0
  745. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.js.map +1 -0
  746. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js +227 -0
  747. package/dist/v2/blocks/scalar-auth-selector-block/components/AuthSelector.vue.script.js.map +1 -0
  748. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.js +7 -0
  749. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.js.map +1 -0
  750. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.script.js +48 -0
  751. package/dist/v2/blocks/scalar-auth-selector-block/components/DeleteRequestAuthModal.vue.script.js.map +1 -0
  752. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js +7 -0
  753. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.js.map +1 -0
  754. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js +285 -0
  755. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuth2.vue.script.js.map +1 -0
  756. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js +9 -0
  757. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.js.map +1 -0
  758. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js +71 -0
  759. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesAddModal.vue.script.js.map +1 -0
  760. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.js +8 -0
  761. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.js.map +1 -0
  762. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js +141 -0
  763. package/dist/v2/blocks/scalar-auth-selector-block/components/OAuthScopesInput.vue.script.js.map +1 -0
  764. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.js +7 -0
  765. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.js.map +1 -0
  766. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.script.js +89 -0
  767. package/dist/v2/blocks/scalar-auth-selector-block/components/OpenIDConnect.vue.script.js.map +1 -0
  768. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.d.ts +1 -1
  769. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.js +7 -0
  770. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.js.map +1 -0
  771. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js +95 -0
  772. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTable.vue.script.js.map +1 -0
  773. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.js +7 -0
  774. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.js.map +1 -0
  775. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.script.js +69 -0
  776. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthDataTableInput.vue.script.js.map +1 -0
  777. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.js +7 -0
  778. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.js.map +1 -0
  779. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js +296 -0
  780. package/dist/v2/blocks/scalar-auth-selector-block/components/RequestAuthTab.vue.script.js.map +1 -0
  781. package/dist/v2/blocks/scalar-auth-selector-block/helpers/auth-options.js +92 -0
  782. package/dist/v2/blocks/scalar-auth-selector-block/helpers/auth-options.js.map +1 -0
  783. package/dist/v2/blocks/scalar-auth-selector-block/helpers/extract-security-scheme-secrets.js +141 -0
  784. package/dist/v2/blocks/scalar-auth-selector-block/helpers/extract-security-scheme-secrets.js.map +1 -0
  785. package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.d.ts +1 -1
  786. package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.js +45 -0
  787. package/dist/v2/blocks/scalar-auth-selector-block/helpers/fetch-openid-connect-discovery.js.map +1 -0
  788. package/dist/v2/blocks/scalar-auth-selector-block/helpers/is-auth-optional.js +10 -0
  789. package/dist/v2/blocks/scalar-auth-selector-block/helpers/is-auth-optional.js.map +1 -0
  790. package/dist/v2/blocks/scalar-auth-selector-block/helpers/merge-security.js +27 -0
  791. package/dist/v2/blocks/scalar-auth-selector-block/helpers/merge-security.js.map +1 -0
  792. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.d.ts +1 -1
  793. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js +183 -0
  794. package/dist/v2/blocks/scalar-auth-selector-block/helpers/oauth.js.map +1 -0
  795. package/dist/v2/blocks/scalar-auth-selector-block/helpers/openid-discovery-to-flows.d.ts +1 -1
  796. package/dist/v2/blocks/scalar-auth-selector-block/helpers/openid-discovery-to-flows.js +39 -0
  797. package/dist/v2/blocks/scalar-auth-selector-block/helpers/openid-discovery-to-flows.js.map +1 -0
  798. package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.js +109 -0
  799. package/dist/v2/blocks/scalar-auth-selector-block/helpers/security-scheme.js.map +1 -0
  800. package/dist/v2/blocks/scalar-auth-selector-block/index.d.ts +4 -4
  801. package/dist/v2/blocks/scalar-auth-selector-block/index.js +3 -5
  802. package/dist/v2/components/callout/Callout.vue.js +9 -0
  803. package/dist/v2/components/callout/Callout.vue.js.map +1 -0
  804. package/dist/v2/components/callout/Callout.vue.script.js +35 -0
  805. package/dist/v2/components/callout/Callout.vue.script.js.map +1 -0
  806. package/dist/v2/components/code-input/CodeInput.vue.js +10 -0
  807. package/dist/v2/components/code-input/CodeInput.vue.js.map +1 -0
  808. package/dist/v2/components/code-input/CodeInput.vue.script.js +380 -0
  809. package/dist/v2/components/code-input/CodeInput.vue.script.js.map +1 -0
  810. package/dist/v2/components/code-input/code-variable-widget.js +132 -0
  811. package/dist/v2/components/code-input/code-variable-widget.js.map +1 -0
  812. package/dist/v2/components/code-input/index.d.ts +1 -1
  813. package/dist/v2/components/code-input/index.js +1 -1
  814. package/dist/v2/components/context-menu/ContextMenu.vue.d.ts +27 -0
  815. package/dist/v2/components/context-menu/ContextMenu.vue.d.ts.map +1 -0
  816. package/dist/v2/components/context-menu/ContextMenu.vue.js +8 -0
  817. package/dist/v2/components/context-menu/ContextMenu.vue.js.map +1 -0
  818. package/dist/v2/components/context-menu/ContextMenu.vue.script.js +53 -0
  819. package/dist/v2/components/context-menu/ContextMenu.vue.script.js.map +1 -0
  820. package/dist/v2/components/context-menu/index.d.ts +2 -0
  821. package/dist/v2/components/context-menu/index.d.ts.map +1 -0
  822. package/dist/v2/components/context-menu/index.js +2 -0
  823. package/dist/v2/components/data-table/DataTable.vue.js +7 -0
  824. package/dist/v2/components/data-table/DataTable.vue.js.map +1 -0
  825. package/dist/v2/components/data-table/DataTable.vue.script.js +30 -0
  826. package/dist/v2/components/data-table/DataTable.vue.script.js.map +1 -0
  827. package/dist/v2/components/data-table/DataTableCell.vue.js +7 -0
  828. package/dist/v2/components/data-table/DataTableCell.vue.js.map +1 -0
  829. package/dist/v2/components/data-table/DataTableCell.vue.script.js +21 -0
  830. package/dist/v2/components/data-table/DataTableCell.vue.script.js.map +1 -0
  831. package/dist/v2/components/data-table/DataTableCheckbox.vue.js +7 -0
  832. package/dist/v2/components/data-table/DataTableCheckbox.vue.js.map +1 -0
  833. package/dist/v2/components/data-table/DataTableCheckbox.vue.script.js +43 -0
  834. package/dist/v2/components/data-table/DataTableCheckbox.vue.script.js.map +1 -0
  835. package/dist/v2/components/data-table/DataTableHeader.vue.js +7 -0
  836. package/dist/v2/components/data-table/DataTableHeader.vue.js.map +1 -0
  837. package/dist/v2/components/data-table/DataTableHeader.vue.script.js +20 -0
  838. package/dist/v2/components/data-table/DataTableHeader.vue.script.js.map +1 -0
  839. package/dist/v2/components/data-table/DataTableInput.vue.js +9 -0
  840. package/dist/v2/components/data-table/DataTableInput.vue.js.map +1 -0
  841. package/dist/v2/components/data-table/DataTableInput.vue.script.js +160 -0
  842. package/dist/v2/components/data-table/DataTableInput.vue.script.js.map +1 -0
  843. package/dist/v2/components/data-table/DataTableInputSelect.vue.d.ts +1 -1
  844. package/dist/v2/components/data-table/DataTableInputSelect.vue.js +7 -0
  845. package/dist/v2/components/data-table/DataTableInputSelect.vue.js.map +1 -0
  846. package/dist/v2/components/data-table/DataTableInputSelect.vue.script.js +161 -0
  847. package/dist/v2/components/data-table/DataTableInputSelect.vue.script.js.map +1 -0
  848. package/dist/v2/components/data-table/DataTableRow.vue.js +13 -0
  849. package/dist/v2/components/data-table/DataTableRow.vue.js.map +1 -0
  850. package/dist/v2/components/data-table/DataTableText.vue.js +7 -0
  851. package/dist/v2/components/data-table/DataTableText.vue.js.map +1 -0
  852. package/dist/v2/components/data-table/DataTableText.vue.script.js +20 -0
  853. package/dist/v2/components/data-table/DataTableText.vue.script.js.map +1 -0
  854. package/dist/v2/components/data-table/index.d.ts +8 -8
  855. package/dist/v2/components/data-table/index.js +8 -2
  856. package/dist/v2/components/forms/ConfirmationForm.vue.js +7 -0
  857. package/dist/v2/components/forms/ConfirmationForm.vue.js.map +1 -0
  858. package/dist/v2/components/forms/ConfirmationForm.vue.script.js +40 -0
  859. package/dist/v2/components/forms/ConfirmationForm.vue.script.js.map +1 -0
  860. package/dist/v2/components/forms/index.d.ts +1 -1
  861. package/dist/v2/components/forms/index.js +1 -1
  862. package/dist/v2/components/layout/CollapsibleSection.vue.js +7 -0
  863. package/dist/v2/components/layout/CollapsibleSection.vue.js.map +1 -0
  864. package/dist/v2/components/layout/CollapsibleSection.vue.script.js +79 -0
  865. package/dist/v2/components/layout/CollapsibleSection.vue.script.js.map +1 -0
  866. package/dist/v2/components/layout/ValueEmitter.vue.js +7 -0
  867. package/dist/v2/components/layout/ValueEmitter.vue.js.map +1 -0
  868. package/dist/v2/components/layout/ValueEmitter.vue.script.js +18 -0
  869. package/dist/v2/components/layout/ValueEmitter.vue.script.js.map +1 -0
  870. package/dist/v2/components/layout/index.d.ts +1 -1
  871. package/dist/v2/components/layout/index.js +1 -1
  872. package/dist/v2/components/modals/DeleteModal.vue.js +7 -0
  873. package/dist/v2/components/modals/DeleteModal.vue.js.map +1 -0
  874. package/dist/v2/components/modals/DeleteModal.vue.script.js +36 -0
  875. package/dist/v2/components/modals/DeleteModal.vue.script.js.map +1 -0
  876. package/dist/v2/components/modals/ModalClientContainer.vue.js +9 -0
  877. package/dist/v2/components/modals/ModalClientContainer.vue.js.map +1 -0
  878. package/dist/v2/components/modals/ModalClientContainer.vue.script.js +62 -0
  879. package/dist/v2/components/modals/ModalClientContainer.vue.script.js.map +1 -0
  880. package/dist/v2/components/modals/index.d.ts +1 -1
  881. package/dist/v2/components/modals/index.js +1 -37
  882. package/dist/v2/components/resize/Resize.vue.js +10 -0
  883. package/dist/v2/components/resize/Resize.vue.js.map +1 -0
  884. package/dist/v2/components/resize/Resize.vue.script.js +52 -0
  885. package/dist/v2/components/resize/Resize.vue.script.js.map +1 -0
  886. package/dist/v2/components/resize/index.d.ts +2 -2
  887. package/dist/v2/components/resize/index.js +2 -1
  888. package/dist/v2/components/resize/use-split-resize.js +62 -0
  889. package/dist/v2/components/resize/use-split-resize.js.map +1 -0
  890. package/dist/v2/components/server/ServerDropdown.vue.js +7 -0
  891. package/dist/v2/components/server/ServerDropdown.vue.js.map +1 -0
  892. package/dist/v2/components/server/ServerDropdown.vue.script.js +95 -0
  893. package/dist/v2/components/server/ServerDropdown.vue.script.js.map +1 -0
  894. package/dist/v2/components/server/ServerDropdownItem.vue.js +9 -0
  895. package/dist/v2/components/server/ServerDropdownItem.vue.js.map +1 -0
  896. package/dist/v2/components/server/ServerDropdownItem.vue.script.js +46 -0
  897. package/dist/v2/components/server/ServerDropdownItem.vue.script.js.map +1 -0
  898. package/dist/v2/components/server/index.d.ts +1 -1
  899. package/dist/v2/components/server/index.js +1 -1
  900. package/dist/v2/components/sidebar/Sidebar.vue.js +7 -0
  901. package/dist/v2/components/sidebar/Sidebar.vue.js.map +1 -0
  902. package/dist/v2/components/sidebar/Sidebar.vue.script.js +117 -0
  903. package/dist/v2/components/sidebar/Sidebar.vue.script.js.map +1 -0
  904. package/dist/v2/components/sidebar/SidebarMenu.vue.js +7 -0
  905. package/dist/v2/components/sidebar/SidebarMenu.vue.js.map +1 -0
  906. package/dist/v2/components/sidebar/SidebarMenu.vue.script.js +52 -0
  907. package/dist/v2/components/sidebar/SidebarMenu.vue.script.js.map +1 -0
  908. package/dist/v2/components/sidebar/SidebarToggle.vue.js +7 -0
  909. package/dist/v2/components/sidebar/SidebarToggle.vue.js.map +1 -0
  910. package/dist/v2/components/sidebar/SidebarToggle.vue.script.js +54 -0
  911. package/dist/v2/components/sidebar/SidebarToggle.vue.script.js.map +1 -0
  912. package/dist/v2/components/sidebar/index.d.ts +3 -3
  913. package/dist/v2/components/sidebar/index.js +3 -2
  914. package/dist/v2/constants.js +7 -0
  915. package/dist/v2/constants.js.map +1 -0
  916. package/dist/v2/features/app/App.vue.d.ts +2 -2
  917. package/dist/v2/features/app/App.vue.d.ts.map +1 -1
  918. package/dist/v2/features/app/App.vue.js +8 -0
  919. package/dist/v2/features/app/App.vue.js.map +1 -0
  920. package/dist/v2/features/app/App.vue.script.js +177 -0
  921. package/dist/v2/features/app/App.vue.script.js.map +1 -0
  922. package/dist/v2/features/app/app-events.js +242 -0
  923. package/dist/v2/features/app/app-events.js.map +1 -0
  924. package/dist/v2/features/app/app-state.d.ts +3 -1
  925. package/dist/v2/features/app/app-state.d.ts.map +1 -1
  926. package/dist/v2/features/app/app-state.js +629 -0
  927. package/dist/v2/features/app/app-state.js.map +1 -0
  928. package/dist/v2/features/app/components/AppSidebar.vue.js +9 -0
  929. package/dist/v2/features/app/components/AppSidebar.vue.js.map +1 -0
  930. package/dist/v2/features/app/components/AppSidebar.vue.script.js +318 -0
  931. package/dist/v2/features/app/components/AppSidebar.vue.script.js.map +1 -0
  932. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js +7 -0
  933. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.js.map +1 -0
  934. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js +58 -0
  935. package/dist/v2/features/app/components/CreateWorkspaceModal.vue.script.js.map +1 -0
  936. package/dist/v2/features/app/components/DesktopTab.vue.d.ts.map +1 -1
  937. package/dist/v2/features/app/components/DesktopTab.vue.js +9 -0
  938. package/dist/v2/features/app/components/DesktopTab.vue.js.map +1 -0
  939. package/dist/v2/features/app/components/DesktopTab.vue.script.js +121 -0
  940. package/dist/v2/features/app/components/DesktopTab.vue.script.js.map +1 -0
  941. package/dist/v2/features/app/components/DesktopTabs.vue.js +7 -0
  942. package/dist/v2/features/app/components/DesktopTabs.vue.js.map +1 -0
  943. package/dist/v2/features/app/components/DesktopTabs.vue.script.js +75 -0
  944. package/dist/v2/features/app/components/DesktopTabs.vue.script.js.map +1 -0
  945. package/dist/v2/features/app/components/DownloadAppButton.vue.js +9 -0
  946. package/dist/v2/features/app/components/DownloadAppButton.vue.js.map +1 -0
  947. package/dist/v2/features/app/components/DownloadAppButton.vue.script.js +21 -0
  948. package/dist/v2/features/app/components/DownloadAppButton.vue.script.js.map +1 -0
  949. package/dist/v2/features/app/components/SidebarItemMenu.vue.js +7 -0
  950. package/dist/v2/features/app/components/SidebarItemMenu.vue.js.map +1 -0
  951. package/dist/v2/features/app/components/SidebarItemMenu.vue.script.js +175 -0
  952. package/dist/v2/features/app/components/SidebarItemMenu.vue.script.js.map +1 -0
  953. package/dist/v2/features/app/components/SplashScreen.vue.js +9 -0
  954. package/dist/v2/features/app/components/SplashScreen.vue.js.map +1 -0
  955. package/dist/v2/features/app/components/SplashScreen.vue.script.js +20 -0
  956. package/dist/v2/features/app/components/SplashScreen.vue.script.js.map +1 -0
  957. package/dist/v2/features/app/components/index.d.ts +1 -1
  958. package/dist/v2/features/app/components/index.js +1 -9
  959. package/dist/v2/features/app/helpers/create-api-client-app.d.ts +6 -2
  960. package/dist/v2/features/app/helpers/create-api-client-app.d.ts.map +1 -1
  961. package/dist/v2/features/app/helpers/create-api-client-app.js +54 -0
  962. package/dist/v2/features/app/helpers/create-api-client-app.js.map +1 -0
  963. package/dist/v2/features/app/helpers/filter-workspaces.js +55 -0
  964. package/dist/v2/features/app/helpers/filter-workspaces.js.map +1 -0
  965. package/dist/v2/features/app/helpers/get-route-param.d.ts +1 -1
  966. package/dist/v2/features/app/helpers/get-route-param.js +12 -0
  967. package/dist/v2/features/app/helpers/get-route-param.js.map +1 -0
  968. package/dist/v2/features/app/helpers/group-workspaces.js +38 -0
  969. package/dist/v2/features/app/helpers/group-workspaces.js.map +1 -0
  970. package/dist/v2/features/app/helpers/routes.d.ts +7 -3
  971. package/dist/v2/features/app/helpers/routes.d.ts.map +1 -1
  972. package/dist/v2/features/app/helpers/routes.js +133 -0
  973. package/dist/v2/features/app/helpers/routes.js.map +1 -0
  974. package/dist/v2/features/app/hooks/use-document-watcher.js +168 -0
  975. package/dist/v2/features/app/hooks/use-document-watcher.js.map +1 -0
  976. package/dist/v2/features/app/hooks/use-theme.d.ts +1 -1
  977. package/dist/v2/features/app/hooks/use-theme.js +94 -0
  978. package/dist/v2/features/app/hooks/use-theme.js.map +1 -0
  979. package/dist/v2/features/app/index.d.ts +7 -7
  980. package/dist/v2/features/app/index.js +7 -3161
  981. package/dist/v2/features/collection/DocumentCollection.vue.d.ts +1 -1
  982. package/dist/v2/features/collection/DocumentCollection.vue.js +8 -0
  983. package/dist/v2/features/collection/DocumentCollection.vue.js.map +1 -0
  984. package/dist/v2/features/collection/DocumentCollection.vue.script.js +339 -0
  985. package/dist/v2/features/collection/DocumentCollection.vue.script.js.map +1 -0
  986. package/dist/v2/features/collection/OperationCollection.vue.d.ts +1 -1
  987. package/dist/v2/features/collection/OperationCollection.vue.js +7 -0
  988. package/dist/v2/features/collection/OperationCollection.vue.js.map +1 -0
  989. package/dist/v2/features/collection/OperationCollection.vue.script.js +94 -0
  990. package/dist/v2/features/collection/OperationCollection.vue.script.js.map +1 -0
  991. package/dist/v2/features/collection/WorkspaceCollection.vue.d.ts +1 -1
  992. package/dist/v2/features/collection/WorkspaceCollection.vue.js +7 -0
  993. package/dist/v2/features/collection/WorkspaceCollection.vue.js.map +1 -0
  994. package/dist/v2/features/collection/WorkspaceCollection.vue.script.js +73 -0
  995. package/dist/v2/features/collection/WorkspaceCollection.vue.script.js.map +1 -0
  996. package/dist/v2/features/collection/components/Authentication.vue.d.ts +4 -4
  997. package/dist/v2/features/collection/components/Authentication.vue.js +9 -0
  998. package/dist/v2/features/collection/components/Authentication.vue.js.map +1 -0
  999. package/dist/v2/features/collection/components/Authentication.vue.script.js +166 -0
  1000. package/dist/v2/features/collection/components/Authentication.vue.script.js.map +1 -0
  1001. package/dist/v2/features/collection/components/Cookies.vue.d.ts +4 -4
  1002. package/dist/v2/features/collection/components/Cookies.vue.js +7 -0
  1003. package/dist/v2/features/collection/components/Cookies.vue.js.map +1 -0
  1004. package/dist/v2/features/collection/components/Cookies.vue.script.js +57 -0
  1005. package/dist/v2/features/collection/components/Cookies.vue.script.js.map +1 -0
  1006. package/dist/v2/features/collection/components/Editor/Editor.vue.d.ts +4 -4
  1007. package/dist/v2/features/collection/components/Editor/Editor.vue.js +9 -0
  1008. package/dist/v2/features/collection/components/Editor/Editor.vue.js.map +1 -0
  1009. package/dist/v2/features/collection/components/Editor/Editor.vue.script.js +360 -0
  1010. package/dist/v2/features/collection/components/Editor/Editor.vue.script.js.map +1 -0
  1011. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js +7 -0
  1012. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.js.map +1 -0
  1013. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.script.js +69 -0
  1014. package/dist/v2/features/collection/components/Editor/components/EditorDiagnosticsPanel.vue.script.js.map +1 -0
  1015. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js +7 -0
  1016. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.js.map +1 -0
  1017. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.script.js +91 -0
  1018. package/dist/v2/features/collection/components/Editor/components/EditorSavePanel.vue.script.js.map +1 -0
  1019. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js +22 -0
  1020. package/dist/v2/features/collection/components/Editor/helpers/get-diagnostic-counts.js.map +1 -0
  1021. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js +17 -0
  1022. package/dist/v2/features/collection/components/Editor/helpers/get-operation-context.js.map +1 -0
  1023. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js +17 -0
  1024. package/dist/v2/features/collection/components/Editor/helpers/get-visible-diagnostics.js.map +1 -0
  1025. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js +34 -0
  1026. package/dist/v2/features/collection/components/Editor/helpers/parse-editor-object.js.map +1 -0
  1027. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js +18 -0
  1028. package/dist/v2/features/collection/components/Editor/helpers/stringify-document.js.map +1 -0
  1029. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js +36 -0
  1030. package/dist/v2/features/collection/components/Editor/hooks/use-editor-state.js.map +1 -0
  1031. package/dist/v2/features/collection/components/Editor/index.d.ts +1 -1
  1032. package/dist/v2/features/collection/components/Editor/index.js +1 -1
  1033. package/dist/v2/features/collection/components/Environment.vue.d.ts +4 -4
  1034. package/dist/v2/features/collection/components/Environment.vue.js +7 -0
  1035. package/dist/v2/features/collection/components/Environment.vue.js.map +1 -0
  1036. package/dist/v2/features/collection/components/Environment.vue.script.js +60 -0
  1037. package/dist/v2/features/collection/components/Environment.vue.script.js.map +1 -0
  1038. package/dist/v2/features/collection/components/Form.vue.js +7 -0
  1039. package/dist/v2/features/collection/components/Form.vue.js.map +1 -0
  1040. package/dist/v2/features/collection/components/Form.vue.script.js +75 -0
  1041. package/dist/v2/features/collection/components/Form.vue.script.js.map +1 -0
  1042. package/dist/v2/features/collection/components/LabelInput.vue.js +9 -0
  1043. package/dist/v2/features/collection/components/LabelInput.vue.js.map +1 -0
  1044. package/dist/v2/features/collection/components/LabelInput.vue.script.js +38 -0
  1045. package/dist/v2/features/collection/components/LabelInput.vue.script.js.map +1 -0
  1046. package/dist/v2/features/collection/components/Overview.vue.d.ts +4 -4
  1047. package/dist/v2/features/collection/components/Overview.vue.js +9 -0
  1048. package/dist/v2/features/collection/components/Overview.vue.js.map +1 -0
  1049. package/dist/v2/features/collection/components/Overview.vue.script.js +203 -0
  1050. package/dist/v2/features/collection/components/Overview.vue.script.js.map +1 -0
  1051. package/dist/v2/features/collection/components/Servers.vue.d.ts +4 -4
  1052. package/dist/v2/features/collection/components/Servers.vue.js +7 -0
  1053. package/dist/v2/features/collection/components/Servers.vue.js.map +1 -0
  1054. package/dist/v2/features/collection/components/Servers.vue.script.js +217 -0
  1055. package/dist/v2/features/collection/components/Servers.vue.script.js.map +1 -0
  1056. package/dist/v2/features/collection/components/Settings.vue.d.ts +4 -4
  1057. package/dist/v2/features/collection/components/Settings.vue.d.ts.map +1 -1
  1058. package/dist/v2/features/collection/components/Settings.vue.js +7 -0
  1059. package/dist/v2/features/collection/components/Settings.vue.js.map +1 -0
  1060. package/dist/v2/features/collection/components/Settings.vue.script.js +80 -0
  1061. package/dist/v2/features/collection/components/Settings.vue.script.js.map +1 -0
  1062. package/dist/v2/features/collection/components/SyncConflictResolutionEditor.vue.js +9 -0
  1063. package/dist/v2/features/collection/components/SyncConflictResolutionEditor.vue.js.map +1 -0
  1064. package/dist/v2/features/collection/components/SyncConflictResolutionEditor.vue.script.js +136 -0
  1065. package/dist/v2/features/collection/components/SyncConflictResolutionEditor.vue.script.js.map +1 -0
  1066. package/dist/v2/features/collection/components/Tabs.vue.d.ts +1 -1
  1067. package/dist/v2/features/collection/components/Tabs.vue.js +7 -0
  1068. package/dist/v2/features/collection/components/Tabs.vue.js.map +1 -0
  1069. package/dist/v2/features/collection/components/Tabs.vue.script.js +53 -0
  1070. package/dist/v2/features/collection/components/Tabs.vue.script.js.map +1 -0
  1071. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js +19 -0
  1072. package/dist/v2/features/collection/helpers/get-default-operation-security-toggle.js.map +1 -0
  1073. package/dist/v2/features/command-palette/TheCommandPalette.vue.d.ts +1 -1
  1074. package/dist/v2/features/command-palette/TheCommandPalette.vue.js +9 -0
  1075. package/dist/v2/features/command-palette/TheCommandPalette.vue.js.map +1 -0
  1076. package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js +189 -0
  1077. package/dist/v2/features/command-palette/TheCommandPalette.vue.script.js.map +1 -0
  1078. package/dist/v2/features/command-palette/components/CommandActionForm.vue.js +7 -0
  1079. package/dist/v2/features/command-palette/components/CommandActionForm.vue.js.map +1 -0
  1080. package/dist/v2/features/command-palette/components/CommandActionForm.vue.script.js +47 -0
  1081. package/dist/v2/features/command-palette/components/CommandActionForm.vue.script.js.map +1 -0
  1082. package/dist/v2/features/command-palette/components/CommandActionInput.vue.js +7 -0
  1083. package/dist/v2/features/command-palette/components/CommandActionInput.vue.js.map +1 -0
  1084. package/dist/v2/features/command-palette/components/CommandActionInput.vue.script.js +73 -0
  1085. package/dist/v2/features/command-palette/components/CommandActionInput.vue.script.js.map +1 -0
  1086. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js +7 -0
  1087. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.js.map +1 -0
  1088. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.script.js +207 -0
  1089. package/dist/v2/features/command-palette/components/CommandPaletteExample.vue.script.js.map +1 -0
  1090. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts +3 -23
  1091. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.d.ts.map +1 -1
  1092. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js +7 -0
  1093. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.js.map +1 -0
  1094. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js +206 -0
  1095. package/dist/v2/features/command-palette/components/CommandPaletteImport.vue.script.js.map +1 -0
  1096. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js +9 -0
  1097. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.js.map +1 -0
  1098. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.script.js +125 -0
  1099. package/dist/v2/features/command-palette/components/CommandPaletteImportCurl.vue.script.js.map +1 -0
  1100. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts +30 -0
  1101. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.d.ts.map +1 -0
  1102. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js +7 -0
  1103. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.js.map +1 -0
  1104. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js +151 -0
  1105. package/dist/v2/features/command-palette/components/CommandPaletteImportPostman.vue.script.js.map +1 -0
  1106. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js +7 -0
  1107. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.js.map +1 -0
  1108. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js +89 -0
  1109. package/dist/v2/features/command-palette/components/CommandPaletteOpenApiDocument.vue.script.js.map +1 -0
  1110. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js +7 -0
  1111. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.js.map +1 -0
  1112. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.script.js +226 -0
  1113. package/dist/v2/features/command-palette/components/CommandPaletteRequest.vue.script.js.map +1 -0
  1114. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js +7 -0
  1115. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.js.map +1 -0
  1116. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.script.js +126 -0
  1117. package/dist/v2/features/command-palette/components/CommandPaletteTag.vue.script.js.map +1 -0
  1118. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.d.ts +58 -0
  1119. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.d.ts.map +1 -0
  1120. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js +9 -0
  1121. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.js.map +1 -0
  1122. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js +142 -0
  1123. package/dist/v2/features/command-palette/components/PostmanImportPreview.vue.script.js.map +1 -0
  1124. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.d.ts +23 -0
  1125. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.d.ts.map +1 -0
  1126. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.js +9 -0
  1127. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.js.map +1 -0
  1128. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.script.js +138 -0
  1129. package/dist/v2/features/command-palette/components/PostmanRequestTreeRow.vue.script.js.map +1 -0
  1130. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js +7 -0
  1131. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.js.map +1 -0
  1132. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.script.js +39 -0
  1133. package/dist/v2/features/command-palette/components/WatchModeToggle.vue.script.js.map +1 -0
  1134. package/dist/v2/features/command-palette/helpers/generate-unique-slug.js +29 -0
  1135. package/dist/v2/features/command-palette/helpers/generate-unique-slug.js.map +1 -0
  1136. package/dist/v2/features/command-palette/helpers/get-merge-key.d.ts +11 -0
  1137. package/dist/v2/features/command-palette/helpers/get-merge-key.d.ts.map +1 -0
  1138. package/dist/v2/features/command-palette/helpers/get-merge-key.js +32 -0
  1139. package/dist/v2/features/command-palette/helpers/get-merge-key.js.map +1 -0
  1140. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js +56 -0
  1141. package/dist/v2/features/command-palette/helpers/get-openapi-document-details.js.map +1 -0
  1142. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.d.ts +2 -1
  1143. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.d.ts.map +1 -1
  1144. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js +22 -0
  1145. package/dist/v2/features/command-palette/helpers/get-openapi-from-postman.js.map +1 -0
  1146. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js +119 -0
  1147. package/dist/v2/features/command-palette/helpers/get-operation-from-curl.js.map +1 -0
  1148. package/dist/v2/features/command-palette/helpers/get-postman-document-details.d.ts +4 -0
  1149. package/dist/v2/features/command-palette/helpers/get-postman-document-details.d.ts.map +1 -1
  1150. package/dist/v2/features/command-palette/helpers/get-postman-document-details.js +36 -0
  1151. package/dist/v2/features/command-palette/helpers/get-postman-document-details.js.map +1 -0
  1152. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js +70 -0
  1153. package/dist/v2/features/command-palette/helpers/import-document-to-workspace.js.map +1 -0
  1154. package/dist/v2/features/command-palette/helpers/is-postman-collection.js +24 -0
  1155. package/dist/v2/features/command-palette/helpers/is-postman-collection.js.map +1 -0
  1156. package/dist/v2/features/command-palette/helpers/load-document-from-source.js +71 -0
  1157. package/dist/v2/features/command-palette/helpers/load-document-from-source.js.map +1 -0
  1158. package/dist/v2/features/command-palette/helpers/postman-request-collisions.d.ts +11 -0
  1159. package/dist/v2/features/command-palette/helpers/postman-request-collisions.d.ts.map +1 -0
  1160. package/dist/v2/features/command-palette/helpers/postman-request-collisions.js +35 -0
  1161. package/dist/v2/features/command-palette/helpers/postman-request-collisions.js.map +1 -0
  1162. package/dist/v2/features/command-palette/helpers/postman-request-tree.d.ts +41 -0
  1163. package/dist/v2/features/command-palette/helpers/postman-request-tree.d.ts.map +1 -0
  1164. package/dist/v2/features/command-palette/helpers/postman-request-tree.js +139 -0
  1165. package/dist/v2/features/command-palette/helpers/postman-request-tree.js.map +1 -0
  1166. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts +38 -2
  1167. package/dist/v2/features/command-palette/hooks/use-command-palette-state.d.ts.map +1 -1
  1168. package/dist/v2/features/command-palette/hooks/use-command-palette-state.js +207 -0
  1169. package/dist/v2/features/command-palette/hooks/use-command-palette-state.js.map +1 -0
  1170. package/dist/v2/features/command-palette/index.d.ts +2 -2
  1171. package/dist/v2/features/command-palette/index.js +2 -2
  1172. package/dist/v2/features/editor/config.js +19 -0
  1173. package/dist/v2/features/editor/config.js.map +1 -0
  1174. package/dist/v2/features/editor/helpers/configure-language-support.js +48 -0
  1175. package/dist/v2/features/editor/helpers/configure-language-support.js.map +1 -0
  1176. package/dist/v2/features/editor/helpers/ensure-monaco-environment.js +21 -0
  1177. package/dist/v2/features/editor/helpers/ensure-monaco-environment.js.map +1 -0
  1178. package/dist/v2/features/editor/helpers/json/create-json-model.js +31 -0
  1179. package/dist/v2/features/editor/helpers/json/create-json-model.js.map +1 -0
  1180. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.d.ts +1 -1
  1181. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js +22 -0
  1182. package/dist/v2/features/editor/helpers/json/get-json-ast-node-from-path.js.map +1 -0
  1183. package/dist/v2/features/editor/helpers/json/json-ast.js +32 -0
  1184. package/dist/v2/features/editor/helpers/json/json-ast.js.map +1 -0
  1185. package/dist/v2/features/editor/helpers/json/json-pointer-links.js +104 -0
  1186. package/dist/v2/features/editor/helpers/json/json-pointer-links.js.map +1 -0
  1187. package/dist/v2/features/editor/helpers/json/json-pointer-path.d.ts +1 -1
  1188. package/dist/v2/features/editor/helpers/json/json-pointer-path.js +27 -0
  1189. package/dist/v2/features/editor/helpers/json/json-pointer-path.js.map +1 -0
  1190. package/dist/v2/features/editor/helpers/range-to-whole-line.js +27 -0
  1191. package/dist/v2/features/editor/helpers/range-to-whole-line.js.map +1 -0
  1192. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js +84 -0
  1193. package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js.map +1 -0
  1194. package/dist/v2/features/editor/helpers/theme/load-css-variables.js +41 -0
  1195. package/dist/v2/features/editor/helpers/theme/load-css-variables.js.map +1 -0
  1196. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js +32 -0
  1197. package/dist/v2/features/editor/helpers/yaml/create-yaml-model.js.map +1 -0
  1198. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js +70 -0
  1199. package/dist/v2/features/editor/helpers/yaml/get-yaml-node-range-from-path.js.map +1 -0
  1200. package/dist/v2/features/editor/hooks/use-editor-markers.js +37 -0
  1201. package/dist/v2/features/editor/hooks/use-editor-markers.js.map +1 -0
  1202. package/dist/v2/features/editor/hooks/use-editor.js +133 -0
  1203. package/dist/v2/features/editor/hooks/use-editor.js.map +1 -0
  1204. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js +45 -0
  1205. package/dist/v2/features/editor/hooks/use-json-pointer-link-support.js.map +1 -0
  1206. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js +396 -0
  1207. package/dist/v2/features/editor/hooks/use-three-way-merge-editor.js.map +1 -0
  1208. package/dist/v2/features/editor/index.d.ts +4 -4
  1209. package/dist/v2/features/editor/index.js +4 -1
  1210. package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js +51 -0
  1211. package/dist/v2/features/editor/schemas/openapi-3.1-schema.json.js.map +1 -0
  1212. package/dist/v2/features/environments/EnvironmentsList.vue.js +7 -0
  1213. package/dist/v2/features/environments/EnvironmentsList.vue.js.map +1 -0
  1214. package/dist/v2/features/environments/EnvironmentsList.vue.script.js +96 -0
  1215. package/dist/v2/features/environments/EnvironmentsList.vue.script.js.map +1 -0
  1216. package/dist/v2/features/environments/components/Environment.vue.js +7 -0
  1217. package/dist/v2/features/environments/components/Environment.vue.js.map +1 -0
  1218. package/dist/v2/features/environments/components/Environment.vue.script.js +65 -0
  1219. package/dist/v2/features/environments/components/Environment.vue.script.js.map +1 -0
  1220. package/dist/v2/features/environments/components/EnvironmentColors.vue.js +7 -0
  1221. package/dist/v2/features/environments/components/EnvironmentColors.vue.js.map +1 -0
  1222. package/dist/v2/features/environments/components/EnvironmentColors.vue.script.js +158 -0
  1223. package/dist/v2/features/environments/components/EnvironmentColors.vue.script.js.map +1 -0
  1224. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.js +7 -0
  1225. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.js.map +1 -0
  1226. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.script.js +97 -0
  1227. package/dist/v2/features/environments/components/EnvironmentCreateModal.vue.script.js.map +1 -0
  1228. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.js +7 -0
  1229. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.js.map +1 -0
  1230. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.script.js +50 -0
  1231. package/dist/v2/features/environments/components/EnvironmentDeleteModal.vue.script.js.map +1 -0
  1232. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.js +7 -0
  1233. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.js.map +1 -0
  1234. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.script.js +113 -0
  1235. package/dist/v2/features/environments/components/EnvironmentVariablesDropdown.vue.script.js.map +1 -0
  1236. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.js +9 -0
  1237. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.js.map +1 -0
  1238. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.script.js +152 -0
  1239. package/dist/v2/features/environments/components/EnvironmentVariablesTable.vue.script.js.map +1 -0
  1240. package/dist/v2/features/environments/index.d.ts +1 -1
  1241. package/dist/v2/features/environments/index.js +1 -3
  1242. package/dist/v2/features/global-cookies/components/CookiesTable.vue.js +9 -0
  1243. package/dist/v2/features/global-cookies/components/CookiesTable.vue.js.map +1 -0
  1244. package/dist/v2/features/global-cookies/components/CookiesTable.vue.script.js +186 -0
  1245. package/dist/v2/features/global-cookies/components/CookiesTable.vue.script.js.map +1 -0
  1246. package/dist/v2/features/global-cookies/index.d.ts +1 -1
  1247. package/dist/v2/features/global-cookies/index.js +1 -3
  1248. package/dist/v2/features/modal/Modal.vue.d.ts +1 -1
  1249. package/dist/v2/features/modal/Modal.vue.js +7 -0
  1250. package/dist/v2/features/modal/Modal.vue.js.map +1 -0
  1251. package/dist/v2/features/modal/Modal.vue.script.js +147 -0
  1252. package/dist/v2/features/modal/Modal.vue.script.js.map +1 -0
  1253. package/dist/v2/features/modal/helpers/create-api-client-modal.d.ts +2 -2
  1254. package/dist/v2/features/modal/helpers/create-api-client-modal.js +100 -0
  1255. package/dist/v2/features/modal/helpers/create-api-client-modal.js.map +1 -0
  1256. package/dist/v2/features/modal/helpers/map-hidden-clients-config.js +32 -0
  1257. package/dist/v2/features/modal/helpers/map-hidden-clients-config.js.map +1 -0
  1258. package/dist/v2/features/modal/helpers/resolve-route-parameters.js +92 -0
  1259. package/dist/v2/features/modal/helpers/resolve-route-parameters.js.map +1 -0
  1260. package/dist/v2/features/modal/helpers/restore-workspace-state.js +51 -0
  1261. package/dist/v2/features/modal/helpers/restore-workspace-state.js.map +1 -0
  1262. package/dist/v2/features/modal/hooks/use-modal-sidebar.d.ts +1 -1
  1263. package/dist/v2/features/modal/hooks/use-modal-sidebar.js +142 -0
  1264. package/dist/v2/features/modal/hooks/use-modal-sidebar.js.map +1 -0
  1265. package/dist/v2/features/modal/index.d.ts +3 -3
  1266. package/dist/v2/features/modal/index.js +3 -639
  1267. package/dist/v2/features/modal/modal-events.d.ts +1 -1
  1268. package/dist/v2/features/modal/modal-events.js +41 -0
  1269. package/dist/v2/features/modal/modal-events.js.map +1 -0
  1270. package/dist/v2/features/operation/Operation.vue.d.ts +2 -2
  1271. package/dist/v2/features/operation/Operation.vue.js +7 -0
  1272. package/dist/v2/features/operation/Operation.vue.js.map +1 -0
  1273. package/dist/v2/features/operation/Operation.vue.script.js +182 -0
  1274. package/dist/v2/features/operation/Operation.vue.script.js.map +1 -0
  1275. package/dist/v2/features/operation/helpers/combine-params.js +20 -0
  1276. package/dist/v2/features/operation/helpers/combine-params.js.map +1 -0
  1277. package/dist/v2/features/operation/helpers/get-security-requirements.js +17 -0
  1278. package/dist/v2/features/operation/helpers/get-security-requirements.js.map +1 -0
  1279. package/dist/v2/features/operation/helpers/get-selected-security.js +41 -0
  1280. package/dist/v2/features/operation/helpers/get-selected-security.js.map +1 -0
  1281. package/dist/v2/features/operation/helpers/get-selected-server.js +21 -0
  1282. package/dist/v2/features/operation/helpers/get-selected-server.js.map +1 -0
  1283. package/dist/v2/features/operation/index.d.ts +5 -5
  1284. package/dist/v2/features/operation/index.js +5 -18
  1285. package/dist/v2/features/search/helpers/create-fuse-instance.js +52 -0
  1286. package/dist/v2/features/search/helpers/create-fuse-instance.js.map +1 -0
  1287. package/dist/v2/features/search/helpers/create-search-index.js +76 -0
  1288. package/dist/v2/features/search/helpers/create-search-index.js.map +1 -0
  1289. package/dist/v2/features/search/hooks/use-search-index.js +31 -0
  1290. package/dist/v2/features/search/hooks/use-search-index.js.map +1 -0
  1291. package/dist/v2/features/search/index.d.ts +1 -1
  1292. package/dist/v2/features/search/index.js +1 -1
  1293. package/dist/v2/features/settings/CollectionSettings.vue.d.ts +4 -0
  1294. package/dist/v2/features/settings/CollectionSettings.vue.d.ts.map +1 -1
  1295. package/dist/v2/features/settings/CollectionSettings.vue.js +7 -0
  1296. package/dist/v2/features/settings/CollectionSettings.vue.js.map +1 -0
  1297. package/dist/v2/features/settings/CollectionSettings.vue.script.js +229 -0
  1298. package/dist/v2/features/settings/CollectionSettings.vue.script.js.map +1 -0
  1299. package/dist/v2/features/settings/DocumentSettings.vue.js +7 -0
  1300. package/dist/v2/features/settings/DocumentSettings.vue.js.map +1 -0
  1301. package/dist/v2/features/settings/DocumentSettings.vue.script.js +92 -0
  1302. package/dist/v2/features/settings/DocumentSettings.vue.script.js.map +1 -0
  1303. package/dist/v2/features/settings/components/Appearance.vue.js +7 -0
  1304. package/dist/v2/features/settings/components/Appearance.vue.js.map +1 -0
  1305. package/dist/v2/features/settings/components/Appearance.vue.script.js +63 -0
  1306. package/dist/v2/features/settings/components/Appearance.vue.script.js.map +1 -0
  1307. package/dist/v2/features/settings/components/Section.vue.js +7 -0
  1308. package/dist/v2/features/settings/components/Section.vue.js.map +1 -0
  1309. package/dist/v2/features/settings/components/Section.vue.script.js +30 -0
  1310. package/dist/v2/features/settings/components/Section.vue.script.js.map +1 -0
  1311. package/dist/v2/features/settings/helpers/get-theme-colors.js +68 -0
  1312. package/dist/v2/features/settings/helpers/get-theme-colors.js.map +1 -0
  1313. package/dist/v2/features/settings/index.d.ts +2 -2
  1314. package/dist/v2/features/settings/index.js +2 -1
  1315. package/dist/v2/helpers/drag-handle-factory.d.ts.map +1 -1
  1316. package/dist/v2/helpers/drag-handle-factory.js +258 -0
  1317. package/dist/v2/helpers/drag-handle-factory.js.map +1 -0
  1318. package/dist/v2/helpers/generate-location-id.js +25 -0
  1319. package/dist/v2/helpers/generate-location-id.js.map +1 -0
  1320. package/dist/v2/helpers/get-active-environment.js +19 -0
  1321. package/dist/v2/helpers/get-active-environment.js.map +1 -0
  1322. package/dist/v2/helpers/get-active-proxy-url.js +26 -0
  1323. package/dist/v2/helpers/get-active-proxy-url.js.map +1 -0
  1324. package/dist/v2/helpers/get-servers.js +106 -0
  1325. package/dist/v2/helpers/get-servers.js.map +1 -0
  1326. package/dist/v2/helpers/get-tab-details.d.ts +1 -1
  1327. package/dist/v2/helpers/get-tab-details.js +54 -0
  1328. package/dist/v2/helpers/get-tab-details.js.map +1 -0
  1329. package/dist/v2/helpers/handle-hotkeys.js +151 -0
  1330. package/dist/v2/helpers/handle-hotkeys.js.map +1 -0
  1331. package/dist/v2/helpers/index.d.ts +2 -2
  1332. package/dist/v2/helpers/index.js +2 -2
  1333. package/dist/v2/helpers/is-url.js +9 -0
  1334. package/dist/v2/helpers/is-url.js.map +1 -0
  1335. package/dist/v2/helpers/slugify.js +15 -0
  1336. package/dist/v2/helpers/slugify.js.map +1 -0
  1337. package/dist/v2/helpers/storage.d.ts +8 -0
  1338. package/dist/v2/helpers/storage.d.ts.map +1 -1
  1339. package/dist/v2/helpers/storage.js +37 -0
  1340. package/dist/v2/helpers/storage.js.map +1 -0
  1341. package/dist/v2/hooks/use-color-mode.js +72 -0
  1342. package/dist/v2/hooks/use-color-mode.js.map +1 -0
  1343. package/dist/v2/hooks/use-global-hot-keys.js +22 -0
  1344. package/dist/v2/hooks/use-global-hot-keys.js.map +1 -0
  1345. package/dist/v2/hooks/use-scroll-lock.js +58 -0
  1346. package/dist/v2/hooks/use-scroll-lock.js.map +1 -0
  1347. package/dist/v2/posthog.d.ts +3 -0
  1348. package/dist/v2/posthog.d.ts.map +1 -0
  1349. package/dist/v2/posthog.js +19 -0
  1350. package/dist/v2/posthog.js.map +1 -0
  1351. package/dist/v2/workspace-events.js +109 -0
  1352. package/dist/v2/workspace-events.js.map +1 -0
  1353. package/dist/views/Collection/Collection.vue.js +7 -0
  1354. package/dist/views/Collection/Collection.vue.js.map +1 -0
  1355. package/dist/views/Collection/Collection.vue.script.js +46 -0
  1356. package/dist/views/Collection/Collection.vue.script.js.map +1 -0
  1357. package/dist/views/Collection/CollectionAuthentication.vue.js +9 -0
  1358. package/dist/views/Collection/CollectionAuthentication.vue.js.map +1 -0
  1359. package/dist/views/Collection/CollectionAuthentication.vue.script.js +52 -0
  1360. package/dist/views/Collection/CollectionAuthentication.vue.script.js.map +1 -0
  1361. package/dist/views/Collection/CollectionCookies.vue.js +7 -0
  1362. package/dist/views/Collection/CollectionCookies.vue.js.map +1 -0
  1363. package/dist/views/Collection/CollectionCookies.vue.script.js +18 -0
  1364. package/dist/views/Collection/CollectionCookies.vue.script.js.map +1 -0
  1365. package/dist/views/Collection/CollectionEnvironment.vue.js +8 -0
  1366. package/dist/views/Collection/CollectionEnvironment.vue.js.map +1 -0
  1367. package/dist/views/Collection/CollectionEnvironment.vue.script.js +238 -0
  1368. package/dist/views/Collection/CollectionEnvironment.vue.script.js.map +1 -0
  1369. package/dist/views/Collection/CollectionInfoForm.vue.js +9 -0
  1370. package/dist/views/Collection/CollectionInfoForm.vue.js.map +1 -0
  1371. package/dist/views/Collection/CollectionInfoForm.vue.script.js +73 -0
  1372. package/dist/views/Collection/CollectionInfoForm.vue.script.js.map +1 -0
  1373. package/dist/views/Collection/CollectionNavigation.vue.js +7 -0
  1374. package/dist/views/Collection/CollectionNavigation.vue.js.map +1 -0
  1375. package/dist/views/Collection/CollectionNavigation.vue.script.js +75 -0
  1376. package/dist/views/Collection/CollectionNavigation.vue.script.js.map +1 -0
  1377. package/dist/views/Collection/CollectionOverview.vue.js +7 -0
  1378. package/dist/views/Collection/CollectionOverview.vue.js.map +1 -0
  1379. package/dist/views/Collection/CollectionOverview.vue.script.js +42 -0
  1380. package/dist/views/Collection/CollectionOverview.vue.script.js.map +1 -0
  1381. package/dist/views/Collection/CollectionScripts.vue.js +7 -0
  1382. package/dist/views/Collection/CollectionScripts.vue.js.map +1 -0
  1383. package/dist/views/Collection/CollectionScripts.vue.script.js +18 -0
  1384. package/dist/views/Collection/CollectionScripts.vue.script.js.map +1 -0
  1385. package/dist/views/Collection/CollectionServerForm.vue.js +7 -0
  1386. package/dist/views/Collection/CollectionServerForm.vue.js.map +1 -0
  1387. package/dist/views/Collection/CollectionServerForm.vue.script.js +76 -0
  1388. package/dist/views/Collection/CollectionServerForm.vue.script.js.map +1 -0
  1389. package/dist/views/Collection/CollectionServers.vue.js +7 -0
  1390. package/dist/views/Collection/CollectionServers.vue.js.map +1 -0
  1391. package/dist/views/Collection/CollectionServers.vue.script.js +95 -0
  1392. package/dist/views/Collection/CollectionServers.vue.script.js.map +1 -0
  1393. package/dist/views/Collection/CollectionSettings.vue.js +7 -0
  1394. package/dist/views/Collection/CollectionSettings.vue.js.map +1 -0
  1395. package/dist/views/Collection/CollectionSettings.vue.script.js +87 -0
  1396. package/dist/views/Collection/CollectionSettings.vue.script.js.map +1 -0
  1397. package/dist/views/Collection/CollectionSync.vue.js +7 -0
  1398. package/dist/views/Collection/CollectionSync.vue.js.map +1 -0
  1399. package/dist/views/Collection/CollectionSync.vue.script.js +18 -0
  1400. package/dist/views/Collection/CollectionSync.vue.script.js.map +1 -0
  1401. package/dist/views/Collection/components/EnvironmentForm.vue.d.ts +1 -1
  1402. package/dist/views/Collection/components/EnvironmentForm.vue.js +9 -0
  1403. package/dist/views/Collection/components/EnvironmentForm.vue.js.map +1 -0
  1404. package/dist/views/Collection/components/EnvironmentForm.vue.script.js +284 -0
  1405. package/dist/views/Collection/components/EnvironmentForm.vue.script.js.map +1 -0
  1406. package/dist/views/Collection/components/MarkdownInput.vue.d.ts +1 -1
  1407. package/dist/views/Collection/components/MarkdownInput.vue.js +9 -0
  1408. package/dist/views/Collection/components/MarkdownInput.vue.js.map +1 -0
  1409. package/dist/views/Collection/components/MarkdownInput.vue.script.js +92 -0
  1410. package/dist/views/Collection/components/MarkdownInput.vue.script.js.map +1 -0
  1411. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.d.ts +1 -1
  1412. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.js +7 -0
  1413. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.js.map +1 -0
  1414. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.script.js +74 -0
  1415. package/dist/views/Components/CodeSnippet/CodeSnippet.vue.script.js.map +1 -0
  1416. package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.js +66 -0
  1417. package/dist/views/Components/CodeSnippet/helpers/convert-to-har-request.js.map +1 -0
  1418. package/dist/views/Components/CodeSnippet/helpers/get-har-request.d.ts +1 -1
  1419. package/dist/views/Components/CodeSnippet/helpers/get-har-request.js +86 -0
  1420. package/dist/views/Components/CodeSnippet/helpers/get-har-request.js.map +1 -0
  1421. package/dist/views/Components/CodeSnippet/helpers/get-snippet.d.ts +1 -1
  1422. package/dist/views/Components/CodeSnippet/helpers/get-snippet.js +39 -0
  1423. package/dist/views/Components/CodeSnippet/helpers/get-snippet.js.map +1 -0
  1424. package/dist/views/Components/CodeSnippet/index.d.ts +4 -4
  1425. package/dist/views/Components/CodeSnippet/index.js +4 -2
  1426. package/dist/views/Cookies/CookieForm.vue.js +7 -0
  1427. package/dist/views/Cookies/CookieForm.vue.js.map +1 -0
  1428. package/dist/views/Cookies/CookieForm.vue.script.js +50 -0
  1429. package/dist/views/Cookies/CookieForm.vue.script.js.map +1 -0
  1430. package/dist/views/Cookies/CookieModal.vue.js +9 -0
  1431. package/dist/views/Cookies/CookieModal.vue.js.map +1 -0
  1432. package/dist/views/Cookies/CookieModal.vue.script.js +83 -0
  1433. package/dist/views/Cookies/CookieModal.vue.script.js.map +1 -0
  1434. package/dist/views/Cookies/Cookies.vue.js +7 -0
  1435. package/dist/views/Cookies/Cookies.vue.js.map +1 -0
  1436. package/dist/views/Cookies/Cookies.vue.script.js +156 -0
  1437. package/dist/views/Cookies/Cookies.vue.script.js.map +1 -0
  1438. package/dist/views/Environment/Environment.vue.js +7 -0
  1439. package/dist/views/Environment/Environment.vue.js.map +1 -0
  1440. package/dist/views/Environment/Environment.vue.script.js +384 -0
  1441. package/dist/views/Environment/Environment.vue.script.js.map +1 -0
  1442. package/dist/views/Environment/EnvironmentColorModal.vue.js +7 -0
  1443. package/dist/views/Environment/EnvironmentColorModal.vue.js.map +1 -0
  1444. package/dist/views/Environment/EnvironmentColorModal.vue.script.js +47 -0
  1445. package/dist/views/Environment/EnvironmentColorModal.vue.script.js.map +1 -0
  1446. package/dist/views/Environment/EnvironmentColors.vue.js +7 -0
  1447. package/dist/views/Environment/EnvironmentColors.vue.js.map +1 -0
  1448. package/dist/views/Environment/EnvironmentColors.vue.script.js +126 -0
  1449. package/dist/views/Environment/EnvironmentColors.vue.script.js.map +1 -0
  1450. package/dist/views/Environment/EnvironmentModal.vue.js +7 -0
  1451. package/dist/views/Environment/EnvironmentModal.vue.js.map +1 -0
  1452. package/dist/views/Environment/EnvironmentModal.vue.script.js +122 -0
  1453. package/dist/views/Environment/EnvironmentModal.vue.script.js.map +1 -0
  1454. package/dist/views/Environment/EnvironmentVariableDropdown.vue.d.ts +1 -1
  1455. package/dist/views/Environment/EnvironmentVariableDropdown.vue.js +7 -0
  1456. package/dist/views/Environment/EnvironmentVariableDropdown.vue.js.map +1 -0
  1457. package/dist/views/Environment/EnvironmentVariableDropdown.vue.script.js +133 -0
  1458. package/dist/views/Environment/EnvironmentVariableDropdown.vue.script.js.map +1 -0
  1459. package/dist/views/Environment/handle-drag.d.ts +1 -1
  1460. package/dist/views/Environment/handle-drag.js +38 -0
  1461. package/dist/views/Environment/handle-drag.js.map +1 -0
  1462. package/dist/views/Request/Request.vue.d.ts +1 -1
  1463. package/dist/views/Request/Request.vue.js +9 -0
  1464. package/dist/views/Request/Request.vue.js.map +1 -0
  1465. package/dist/views/Request/Request.vue.script.js +117 -0
  1466. package/dist/views/Request/Request.vue.script.js.map +1 -0
  1467. package/dist/views/Request/RequestRoot.vue.d.ts.map +1 -1
  1468. package/dist/views/Request/RequestRoot.vue.js +9 -0
  1469. package/dist/views/Request/RequestRoot.vue.js.map +1 -0
  1470. package/dist/views/Request/RequestRoot.vue.script.js +158 -0
  1471. package/dist/views/Request/RequestRoot.vue.script.js.map +1 -0
  1472. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.js +7 -0
  1473. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.js.map +1 -0
  1474. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.script.js +52 -0
  1475. package/dist/views/Request/RequestSection/RequestAuth/DeleteRequestAuthModal.vue.script.js.map +1 -0
  1476. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.d.ts +1 -1
  1477. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.js +7 -0
  1478. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.js.map +1 -0
  1479. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.script.js +204 -0
  1480. package/dist/views/Request/RequestSection/RequestAuth/OAuth2.vue.script.js.map +1 -0
  1481. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.js +7 -0
  1482. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.js.map +1 -0
  1483. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.script.js +106 -0
  1484. package/dist/views/Request/RequestSection/RequestAuth/OAuthScopesInput.vue.script.js.map +1 -0
  1485. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.d.ts +1 -1
  1486. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.js +9 -0
  1487. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.js.map +1 -0
  1488. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.script.js +216 -0
  1489. package/dist/views/Request/RequestSection/RequestAuth/RequestAuth.vue.script.js.map +1 -0
  1490. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.d.ts +1 -1
  1491. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.js +9 -0
  1492. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.js.map +1 -0
  1493. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.script.js +116 -0
  1494. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTable.vue.script.js.map +1 -0
  1495. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.d.ts +1 -1
  1496. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.js +7 -0
  1497. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.js.map +1 -0
  1498. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.script.js +73 -0
  1499. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthDataTableInput.vue.script.js.map +1 -0
  1500. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.d.ts +1 -1
  1501. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.js +7 -0
  1502. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.js.map +1 -0
  1503. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.script.js +205 -0
  1504. package/dist/views/Request/RequestSection/RequestAuth/RequestAuthTab.vue.script.js.map +1 -0
  1505. package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.d.ts +1 -1
  1506. package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.js +39 -0
  1507. package/dist/views/Request/RequestSection/RequestAuth/helpers/restore-auth-from-local-storage.js.map +1 -0
  1508. package/dist/views/Request/RequestSection/RequestAuth/index.d.ts +3 -3
  1509. package/dist/views/Request/RequestSection/RequestAuth/index.js +3 -3
  1510. package/dist/views/Request/RequestSection/RequestBody.vue.d.ts +1 -1
  1511. package/dist/views/Request/RequestSection/RequestBody.vue.js +9 -0
  1512. package/dist/views/Request/RequestSection/RequestBody.vue.js.map +1 -0
  1513. package/dist/views/Request/RequestSection/RequestBody.vue.script.js +477 -0
  1514. package/dist/views/Request/RequestSection/RequestBody.vue.script.js.map +1 -0
  1515. package/dist/views/Request/RequestSection/RequestCodeExample.vue.d.ts +1 -1
  1516. package/dist/views/Request/RequestSection/RequestCodeExample.vue.js +9 -0
  1517. package/dist/views/Request/RequestSection/RequestCodeExample.vue.js.map +1 -0
  1518. package/dist/views/Request/RequestSection/RequestCodeExample.vue.script.js +187 -0
  1519. package/dist/views/Request/RequestSection/RequestCodeExample.vue.script.js.map +1 -0
  1520. package/dist/views/Request/RequestSection/RequestParams.vue.d.ts +1 -1
  1521. package/dist/views/Request/RequestSection/RequestParams.vue.js +7 -0
  1522. package/dist/views/Request/RequestSection/RequestParams.vue.js.map +1 -0
  1523. package/dist/views/Request/RequestSection/RequestParams.vue.script.js +180 -0
  1524. package/dist/views/Request/RequestSection/RequestParams.vue.script.js.map +1 -0
  1525. package/dist/views/Request/RequestSection/RequestPathParams.vue.d.ts +1 -1
  1526. package/dist/views/Request/RequestSection/RequestPathParams.vue.js +7 -0
  1527. package/dist/views/Request/RequestSection/RequestPathParams.vue.js.map +1 -0
  1528. package/dist/views/Request/RequestSection/RequestPathParams.vue.script.js +115 -0
  1529. package/dist/views/Request/RequestSection/RequestPathParams.vue.script.js.map +1 -0
  1530. package/dist/views/Request/RequestSection/RequestSection.vue.d.ts +1 -1
  1531. package/dist/views/Request/RequestSection/RequestSection.vue.js +9 -0
  1532. package/dist/views/Request/RequestSection/RequestSection.vue.js.map +1 -0
  1533. package/dist/views/Request/RequestSection/RequestSection.vue.script.js +297 -0
  1534. package/dist/views/Request/RequestSection/RequestSection.vue.script.js.map +1 -0
  1535. package/dist/views/Request/RequestSection/RequestTable.vue.d.ts +1 -1
  1536. package/dist/views/Request/RequestSection/RequestTable.vue.js +9 -0
  1537. package/dist/views/Request/RequestSection/RequestTable.vue.js.map +1 -0
  1538. package/dist/views/Request/RequestSection/RequestTable.vue.script.js +266 -0
  1539. package/dist/views/Request/RequestSection/RequestTable.vue.script.js.map +1 -0
  1540. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.js +9 -0
  1541. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.js.map +1 -0
  1542. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.script.js +64 -0
  1543. package/dist/views/Request/RequestSection/RequestTableTooltip.vue.script.js.map +1 -0
  1544. package/dist/views/Request/RequestSection/helpers/filter-security-requirements.js +38 -0
  1545. package/dist/views/Request/RequestSection/helpers/filter-security-requirements.js.map +1 -0
  1546. package/dist/views/Request/RequestSection/helpers/getting-started.js +17 -0
  1547. package/dist/views/Request/RequestSection/helpers/getting-started.js.map +1 -0
  1548. package/dist/views/Request/RequestSection/helpers/update-scheme.d.ts +1 -1
  1549. package/dist/views/Request/RequestSection/helpers/update-scheme.js +22 -0
  1550. package/dist/views/Request/RequestSection/helpers/update-scheme.js.map +1 -0
  1551. package/dist/views/Request/RequestSection/index.d.ts +2 -2
  1552. package/dist/views/Request/RequestSection/index.js +2 -42
  1553. package/dist/views/Request/RequestSidebar.vue.js +9 -0
  1554. package/dist/views/Request/RequestSidebar.vue.js.map +1 -0
  1555. package/dist/views/Request/RequestSidebar.vue.script.js +307 -0
  1556. package/dist/views/Request/RequestSidebar.vue.script.js.map +1 -0
  1557. package/dist/views/Request/RequestSidebarItem.vue.js +10 -0
  1558. package/dist/views/Request/RequestSidebarItem.vue.js.map +1 -0
  1559. package/dist/views/Request/RequestSidebarItem.vue.script.js +475 -0
  1560. package/dist/views/Request/RequestSidebarItem.vue.script.js.map +1 -0
  1561. package/dist/views/Request/RequestSidebarItemMenu.vue.js +9 -0
  1562. package/dist/views/Request/RequestSidebarItemMenu.vue.js.map +1 -0
  1563. package/dist/views/Request/RequestSidebarItemMenu.vue.script.js +222 -0
  1564. package/dist/views/Request/RequestSidebarItemMenu.vue.script.js.map +1 -0
  1565. package/dist/views/Request/RequestSubpageHeader.vue.d.ts +1 -1
  1566. package/dist/views/Request/RequestSubpageHeader.vue.js +9 -0
  1567. package/dist/views/Request/RequestSubpageHeader.vue.js.map +1 -0
  1568. package/dist/views/Request/RequestSubpageHeader.vue.script.js +92 -0
  1569. package/dist/views/Request/RequestSubpageHeader.vue.script.js.map +1 -0
  1570. package/dist/views/Request/ResponseSection/RequestHeaders.vue.js +7 -0
  1571. package/dist/views/Request/ResponseSection/RequestHeaders.vue.js.map +1 -0
  1572. package/dist/views/Request/ResponseSection/RequestHeaders.vue.script.js +77 -0
  1573. package/dist/views/Request/ResponseSection/RequestHeaders.vue.script.js.map +1 -0
  1574. package/dist/views/Request/ResponseSection/ResponseBody.vue.js +9 -0
  1575. package/dist/views/Request/ResponseSection/ResponseBody.vue.js.map +1 -0
  1576. package/dist/views/Request/ResponseSection/ResponseBody.vue.script.js +91 -0
  1577. package/dist/views/Request/ResponseSection/ResponseBody.vue.script.js.map +1 -0
  1578. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.js +7 -0
  1579. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.js.map +1 -0
  1580. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.script.js +35 -0
  1581. package/dist/views/Request/ResponseSection/ResponseBodyDownload.vue.script.js.map +1 -0
  1582. package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.js +14 -0
  1583. package/dist/views/Request/ResponseSection/ResponseBodyInfo.vue.js.map +1 -0
  1584. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.js +9 -0
  1585. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.js.map +1 -0
  1586. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.script.js +64 -0
  1587. package/dist/views/Request/ResponseSection/ResponseBodyPreview.vue.script.js.map +1 -0
  1588. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.js +9 -0
  1589. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.js.map +1 -0
  1590. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.script.js +54 -0
  1591. package/dist/views/Request/ResponseSection/ResponseBodyRaw.vue.script.js.map +1 -0
  1592. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.js +7 -0
  1593. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.js.map +1 -0
  1594. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.script.js +85 -0
  1595. package/dist/views/Request/ResponseSection/ResponseBodyStreaming.vue.script.js.map +1 -0
  1596. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.js +7 -0
  1597. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.js.map +1 -0
  1598. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.script.js +25 -0
  1599. package/dist/views/Request/ResponseSection/ResponseBodyToggle.vue.script.js.map +1 -0
  1600. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.js +8 -0
  1601. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.js.map +1 -0
  1602. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.script.js +51 -0
  1603. package/dist/views/Request/ResponseSection/ResponseBodyVirtual.vue.script.js.map +1 -0
  1604. package/dist/views/Request/ResponseSection/ResponseCookies.vue.js +7 -0
  1605. package/dist/views/Request/ResponseSection/ResponseCookies.vue.js.map +1 -0
  1606. package/dist/views/Request/ResponseSection/ResponseCookies.vue.script.js +39 -0
  1607. package/dist/views/Request/ResponseSection/ResponseCookies.vue.script.js.map +1 -0
  1608. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.js +9 -0
  1609. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.js.map +1 -0
  1610. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.script.js +98 -0
  1611. package/dist/views/Request/ResponseSection/ResponseEmpty.vue.script.js.map +1 -0
  1612. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.js +7 -0
  1613. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.js.map +1 -0
  1614. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.script.js +77 -0
  1615. package/dist/views/Request/ResponseSection/ResponseHeaders.vue.script.js.map +1 -0
  1616. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.js +9 -0
  1617. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.js.map +1 -0
  1618. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.script.js +44 -0
  1619. package/dist/views/Request/ResponseSection/ResponseLoadingOverlay.vue.script.js.map +1 -0
  1620. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.js +7 -0
  1621. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.js.map +1 -0
  1622. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.script.js +64 -0
  1623. package/dist/views/Request/ResponseSection/ResponseMetaInformation.vue.script.js.map +1 -0
  1624. package/dist/views/Request/ResponseSection/ResponseSection.vue.d.ts +1 -1
  1625. package/dist/views/Request/ResponseSection/ResponseSection.vue.js +9 -0
  1626. package/dist/views/Request/ResponseSection/ResponseSection.vue.js.map +1 -0
  1627. package/dist/views/Request/ResponseSection/ResponseSection.vue.script.js +206 -0
  1628. package/dist/views/Request/ResponseSection/ResponseSection.vue.script.js.map +1 -0
  1629. package/dist/views/Request/ResponseSection/index.d.ts +2 -2
  1630. package/dist/views/Request/ResponseSection/index.js +2 -6
  1631. package/dist/views/Request/components/WorkspaceDropdown.vue.js +7 -0
  1632. package/dist/views/Request/components/WorkspaceDropdown.vue.js.map +1 -0
  1633. package/dist/views/Request/components/WorkspaceDropdown.vue.script.js +182 -0
  1634. package/dist/views/Request/components/WorkspaceDropdown.vue.script.js.map +1 -0
  1635. package/dist/views/Request/components/index.d.ts +1 -1
  1636. package/dist/views/Request/components/index.js +1 -1
  1637. package/dist/views/Request/consts/index.d.ts +2 -2
  1638. package/dist/views/Request/consts/index.js +2 -1
  1639. package/dist/views/Request/consts/mediaTypes.js +231 -0
  1640. package/dist/views/Request/consts/mediaTypes.js.map +1 -0
  1641. package/dist/views/Request/consts/new-auth-options.js +90 -0
  1642. package/dist/views/Request/consts/new-auth-options.js.map +1 -0
  1643. package/dist/views/Request/handle-drag.d.ts +1 -1
  1644. package/dist/views/Request/handle-drag.js +51 -0
  1645. package/dist/views/Request/handle-drag.js.map +1 -0
  1646. package/dist/views/Request/hooks/useOpenApiWatcher.js +96 -0
  1647. package/dist/views/Request/hooks/useOpenApiWatcher.js.map +1 -0
  1648. package/dist/views/Request/libs/auth.js +74 -0
  1649. package/dist/views/Request/libs/auth.js.map +1 -0
  1650. package/dist/views/Request/libs/index.d.ts +3 -3
  1651. package/dist/views/Request/libs/index.js +3 -2
  1652. package/dist/views/Request/libs/oauth2.d.ts +1 -1
  1653. package/dist/views/Request/libs/oauth2.js +178 -0
  1654. package/dist/views/Request/libs/oauth2.js.map +1 -0
  1655. package/dist/views/Request/libs/request.js +46 -0
  1656. package/dist/views/Request/libs/request.js.map +1 -0
  1657. package/dist/views/Request/libs/watch-mode.d.ts +1 -1
  1658. package/dist/views/Request/libs/watch-mode.js +375 -0
  1659. package/dist/views/Request/libs/watch-mode.js.map +1 -0
  1660. package/dist/views/Settings/Settings.vue.js +7 -0
  1661. package/dist/views/Settings/Settings.vue.js.map +1 -0
  1662. package/dist/views/Settings/Settings.vue.script.js +28 -0
  1663. package/dist/views/Settings/Settings.vue.script.js.map +1 -0
  1664. package/dist/views/Settings/SettingsGeneral.vue.js +7 -0
  1665. package/dist/views/Settings/SettingsGeneral.vue.js.map +1 -0
  1666. package/dist/views/Settings/SettingsGeneral.vue.script.js +241 -0
  1667. package/dist/views/Settings/SettingsGeneral.vue.script.js.map +1 -0
  1668. package/dist/views/Settings/components/SettingsAppearance.vue.js +7 -0
  1669. package/dist/views/Settings/components/SettingsAppearance.vue.js.map +1 -0
  1670. package/dist/views/Settings/components/SettingsAppearance.vue.script.js +62 -0
  1671. package/dist/views/Settings/components/SettingsAppearance.vue.script.js.map +1 -0
  1672. package/dist/views/Settings/components/SettingsSection.vue.js +7 -0
  1673. package/dist/views/Settings/components/SettingsSection.vue.js.map +1 -0
  1674. package/dist/views/Settings/components/SettingsSection.vue.script.js +27 -0
  1675. package/dist/views/Settings/components/SettingsSection.vue.script.js.map +1 -0
  1676. package/package.json +19 -14
  1677. package/dist/AddressBar-BOZGKSoz.js +0 -302
  1678. package/dist/AddressBar-BOZGKSoz.js.map +0 -1
  1679. package/dist/App-Ckirvnv1.js +0 -2510
  1680. package/dist/App-Ckirvnv1.js.map +0 -1
  1681. package/dist/App-DHBmpWJI.js +0 -533
  1682. package/dist/App-DHBmpWJI.js.map +0 -1
  1683. package/dist/CodeInput-BTN8cC5h.js +0 -694
  1684. package/dist/CodeInput-BTN8cC5h.js.map +0 -1
  1685. package/dist/CodeSnippet-D7Heh1nd.js +0 -218
  1686. package/dist/CodeSnippet-D7Heh1nd.js.map +0 -1
  1687. package/dist/Collection-BsAG7ms5.js +0 -219
  1688. package/dist/Collection-BsAG7ms5.js.map +0 -1
  1689. package/dist/CollectionAuthentication-BMGhRnpo.js +0 -56
  1690. package/dist/CollectionAuthentication-BMGhRnpo.js.map +0 -1
  1691. package/dist/CollectionCookies-DyjPPMdt.js +0 -19
  1692. package/dist/CollectionCookies-DyjPPMdt.js.map +0 -1
  1693. package/dist/CollectionEnvironment-BY9Gcnln.js +0 -514
  1694. package/dist/CollectionEnvironment-BY9Gcnln.js.map +0 -1
  1695. package/dist/CollectionOverview-C3GvN8GY.js +0 -131
  1696. package/dist/CollectionOverview-C3GvN8GY.js.map +0 -1
  1697. package/dist/CollectionScripts-CMNlBlby.js +0 -19
  1698. package/dist/CollectionScripts-CMNlBlby.js.map +0 -1
  1699. package/dist/CollectionServers-DuOLysNB.js +0 -168
  1700. package/dist/CollectionServers-DuOLysNB.js.map +0 -1
  1701. package/dist/CollectionSettings-FtXNetOh.js +0 -87
  1702. package/dist/CollectionSettings-FtXNetOh.js.map +0 -1
  1703. package/dist/CollectionSync-CAflc5yW.js +0 -19
  1704. package/dist/CollectionSync-CAflc5yW.js.map +0 -1
  1705. package/dist/CommandActionInput-TkcAx6E8.js +0 -97
  1706. package/dist/CommandActionInput-TkcAx6E8.js.map +0 -1
  1707. package/dist/CommandPalette-BxoEK8TY.js +0 -964
  1708. package/dist/CommandPalette-BxoEK8TY.js.map +0 -1
  1709. package/dist/CommandPaletteImport-Diu5dDIY.js +0 -622
  1710. package/dist/CommandPaletteImport-Diu5dDIY.js.map +0 -1
  1711. package/dist/Cookies-BYTv1YIA.js +0 -284
  1712. package/dist/Cookies-BYTv1YIA.js.map +0 -1
  1713. package/dist/DataTable-BqbZKW3K.js +0 -62
  1714. package/dist/DataTable-BqbZKW3K.js.map +0 -1
  1715. package/dist/DataTableHeader-DJVB0jCZ.js +0 -21
  1716. package/dist/DataTableHeader-DJVB0jCZ.js.map +0 -1
  1717. package/dist/DataTableInput-RydMDjn2.js +0 -166
  1718. package/dist/DataTableInput-RydMDjn2.js.map +0 -1
  1719. package/dist/DataTableRow-c3XveEUO.js +0 -57
  1720. package/dist/DataTableRow-c3XveEUO.js.map +0 -1
  1721. package/dist/DeleteSidebarListElement-C-p87d03.js +0 -78
  1722. package/dist/DeleteSidebarListElement-C-p87d03.js.map +0 -1
  1723. package/dist/EditSidebarListElement-CodWPnM6.js +0 -32
  1724. package/dist/EditSidebarListElement-CodWPnM6.js.map +0 -1
  1725. package/dist/Editor-BomsGWHx.js +0 -909
  1726. package/dist/Editor-BomsGWHx.js.map +0 -1
  1727. package/dist/EmptyState-Cnm7hGW5.js +0 -46
  1728. package/dist/EmptyState-Cnm7hGW5.js.map +0 -1
  1729. package/dist/Environment-BIxG7DaO.js +0 -416
  1730. package/dist/Environment-BIxG7DaO.js.map +0 -1
  1731. package/dist/EnvironmentModal-C0lYytkh.js +0 -288
  1732. package/dist/EnvironmentModal-C0lYytkh.js.map +0 -1
  1733. package/dist/Form-KFcdRQp1.js +0 -83
  1734. package/dist/Form-KFcdRQp1.js.map +0 -1
  1735. package/dist/HttpMethod-rnWEgC3T.js +0 -78
  1736. package/dist/HttpMethod-rnWEgC3T.js.map +0 -1
  1737. package/dist/IconSelector-BDC_GQXv.js +0 -67
  1738. package/dist/IconSelector-BDC_GQXv.js.map +0 -1
  1739. package/dist/ImportCollection-CGjySEzP.js +0 -804
  1740. package/dist/ImportCollection-CGjySEzP.js.map +0 -1
  1741. package/dist/IntegrationLogo-B9EDW8db.js +0 -51
  1742. package/dist/IntegrationLogo-B9EDW8db.js.map +0 -1
  1743. package/dist/MainLayout-BnLwst16.js +0 -281
  1744. package/dist/MainLayout-BnLwst16.js.map +0 -1
  1745. package/dist/Modal-CTZ8UNds.js +0 -67
  1746. package/dist/Modal-CTZ8UNds.js.map +0 -1
  1747. package/dist/ModalClientContainer-qHsZi4wQ.js +0 -65
  1748. package/dist/ModalClientContainer-qHsZi4wQ.js.map +0 -1
  1749. package/dist/Request-d0RY0ZhC.js +0 -212
  1750. package/dist/Request-d0RY0ZhC.js.map +0 -1
  1751. package/dist/RequestAuth-1cRH3DDn.js +0 -989
  1752. package/dist/RequestAuth-1cRH3DDn.js.map +0 -1
  1753. package/dist/RequestRoot-pW0yXesG.js +0 -1611
  1754. package/dist/RequestRoot-pW0yXesG.js.map +0 -1
  1755. package/dist/RequestSection-D2BLvDTr.js +0 -1582
  1756. package/dist/RequestSection-D2BLvDTr.js.map +0 -1
  1757. package/dist/ResponseSection-B_YF7l_E.js +0 -949
  1758. package/dist/ResponseSection-B_YF7l_E.js.map +0 -1
  1759. package/dist/ScalarAsciiArt-BjuSnj8e.js +0 -45
  1760. package/dist/ScalarAsciiArt-BjuSnj8e.js.map +0 -1
  1761. package/dist/SectionFilter-hrtoRLwj.js +0 -99
  1762. package/dist/SectionFilter-hrtoRLwj.js.map +0 -1
  1763. package/dist/Server-CEKGIEfE.js +0 -303
  1764. package/dist/Server-CEKGIEfE.js.map +0 -1
  1765. package/dist/ServerVariablesForm-BRZ9XC8o.js +0 -145
  1766. package/dist/ServerVariablesForm-BRZ9XC8o.js.map +0 -1
  1767. package/dist/Settings-BaPvhJ8Y.js +0 -347
  1768. package/dist/Settings-BaPvhJ8Y.js.map +0 -1
  1769. package/dist/Sidebar-CRxdl38Y.js +0 -73
  1770. package/dist/Sidebar-CRxdl38Y.js.map +0 -1
  1771. package/dist/SidebarButton-BAagdMDe.js +0 -37
  1772. package/dist/SidebarButton-BAagdMDe.js.map +0 -1
  1773. package/dist/SidebarListElement-BfTPiihc.js +0 -232
  1774. package/dist/SidebarListElement-BfTPiihc.js.map +0 -1
  1775. package/dist/TheCommandPalette-Dl9TAeke.js +0 -204
  1776. package/dist/TheCommandPalette-Dl9TAeke.js.map +0 -1
  1777. package/dist/ValueEmitter-QYkZ9Hdc.js +0 -20
  1778. package/dist/ValueEmitter-QYkZ9Hdc.js.map +0 -1
  1779. package/dist/ViewLayout-BOXN0IYo.js +0 -17
  1780. package/dist/ViewLayout-BOXN0IYo.js.map +0 -1
  1781. package/dist/ViewLayoutCollapse-CiTb-Uml.js +0 -86
  1782. package/dist/ViewLayoutCollapse-CiTb-Uml.js.map +0 -1
  1783. package/dist/ViewLayoutContent-CvMoJYPF.js +0 -13
  1784. package/dist/ViewLayoutContent-CvMoJYPF.js.map +0 -1
  1785. package/dist/ViewLayoutSection-mUqKbQry.js +0 -23
  1786. package/dist/ViewLayoutSection-mUqKbQry.js.map +0 -1
  1787. package/dist/WatchModeToggle-D_eAiTWJ.js +0 -41
  1788. package/dist/WatchModeToggle-D_eAiTWJ.js.map +0 -1
  1789. package/dist/_plugin-vue_export-helper-BmmBcIzD.js +0 -8
  1790. package/dist/analytics-BZimCWcw.js +0 -7
  1791. package/dist/analytics-BZimCWcw.js.map +0 -1
  1792. package/dist/analytics.d.ts +0 -18
  1793. package/dist/analytics.d.ts.map +0 -1
  1794. package/dist/build-request-security-BQjNr2MD.js +0 -41
  1795. package/dist/build-request-security-BQjNr2MD.js.map +0 -1
  1796. package/dist/code-input-iq-moLxi.js +0 -775
  1797. package/dist/code-input-iq-moLxi.js.map +0 -1
  1798. package/dist/components-B0BwUDFw.js +0 -183
  1799. package/dist/components-B0BwUDFw.js.map +0 -1
  1800. package/dist/components-ChixwQhN.js +0 -61
  1801. package/dist/components-ChixwQhN.js.map +0 -1
  1802. package/dist/computer-D7VW3Ruy.js +0 -562
  1803. package/dist/computer-D7VW3Ruy.js.map +0 -1
  1804. package/dist/consts-CyGRb9dl.js +0 -318
  1805. package/dist/consts-CyGRb9dl.js.map +0 -1
  1806. package/dist/curl-nbw1OxbV.js +0 -54
  1807. package/dist/curl-nbw1OxbV.js.map +0 -1
  1808. package/dist/data-table-PL7e8NRO.js +0 -282
  1809. package/dist/data-table-PL7e8NRO.js.map +0 -1
  1810. package/dist/editor-BZ_J0eze.js +0 -466
  1811. package/dist/editor-BZ_J0eze.js.map +0 -1
  1812. package/dist/environments-ByLK9lnC.js +0 -592
  1813. package/dist/environments-ByLK9lnC.js.map +0 -1
  1814. package/dist/formatters-DOGXZq9R.js +0 -36
  1815. package/dist/formatters-DOGXZq9R.js.map +0 -1
  1816. package/dist/forms-CZX6cFDS.js +0 -42
  1817. package/dist/forms-CZX6cFDS.js.map +0 -1
  1818. package/dist/get-active-environment-CkxyQ1dM.js +0 -19
  1819. package/dist/get-active-environment-CkxyQ1dM.js.map +0 -1
  1820. package/dist/get-resolved-url-SybDPV0U.js +0 -85
  1821. package/dist/get-resolved-url-SybDPV0U.js.map +0 -1
  1822. package/dist/get-server-url-UVN-dx79.js +0 -32
  1823. package/dist/get-server-url-UVN-dx79.js.map +0 -1
  1824. package/dist/get-servers-B_WNlQWB.js +0 -106
  1825. package/dist/get-servers-B_WNlQWB.js.map +0 -1
  1826. package/dist/get-snippet-DBRUSfZ2.js +0 -39
  1827. package/dist/get-snippet-DBRUSfZ2.js.map +0 -1
  1828. package/dist/global-cookies-D3ZS9ON3.js +0 -184
  1829. package/dist/global-cookies-D3ZS9ON3.js.map +0 -1
  1830. package/dist/hooks/useAnalytics.d.ts +0 -19
  1831. package/dist/hooks/useAnalytics.d.ts.map +0 -1
  1832. package/dist/hooks-BvZxH4XB.js +0 -80
  1833. package/dist/hooks-BvZxH4XB.js.map +0 -1
  1834. package/dist/layout-BWiL7dfb.js +0 -81
  1835. package/dist/layout-BWiL7dfb.js.map +0 -1
  1836. package/dist/layouts/Web/index.js.map +0 -1
  1837. package/dist/libs-spbv4P0g.js +0 -249
  1838. package/dist/libs-spbv4P0g.js.map +0 -1
  1839. package/dist/operation-block-B1B3lJPx.js +0 -1674
  1840. package/dist/operation-block-B1B3lJPx.js.map +0 -1
  1841. package/dist/operation-code-sample-DOzAPxLQ.js +0 -1738
  1842. package/dist/operation-code-sample-DOzAPxLQ.js.map +0 -1
  1843. package/dist/parse-curl-BtypQT3D.js +0 -106
  1844. package/dist/parse-curl-BtypQT3D.js.map +0 -1
  1845. package/dist/plugins-B52hCIyZ.js +0 -50
  1846. package/dist/plugins-B52hCIyZ.js.map +0 -1
  1847. package/dist/rabbitjump-CMZXAR6d.js +0 -9
  1848. package/dist/rabbitjump-CMZXAR6d.js.map +0 -1
  1849. package/dist/request-block-C1kLLMEd.js +0 -1466
  1850. package/dist/request-block-C1kLLMEd.js.map +0 -1
  1851. package/dist/resize-D2IYvVdh.js +0 -114
  1852. package/dist/resize-D2IYvVdh.js.map +0 -1
  1853. package/dist/response-block-DmkaDZYs.js +0 -1188
  1854. package/dist/response-block-DmkaDZYs.js.map +0 -1
  1855. package/dist/scalar-address-bar-block-BbysOhkE.js +0 -425
  1856. package/dist/scalar-address-bar-block-BbysOhkE.js.map +0 -1
  1857. package/dist/scalar-auth-selector-block-Bs79QOMA.js +0 -1889
  1858. package/dist/scalar-auth-selector-block-Bs79QOMA.js.map +0 -1
  1859. package/dist/search-CmsQQkjn.js +0 -151
  1860. package/dist/search-CmsQQkjn.js.map +0 -1
  1861. package/dist/send-request-BsTfRiBC.js +0 -348
  1862. package/dist/send-request-BsTfRiBC.js.map +0 -1
  1863. package/dist/server-tcI-OCyx.js +0 -140
  1864. package/dist/server-tcI-OCyx.js.map +0 -1
  1865. package/dist/set-request-cookies-BJJhsU4A.js +0 -88
  1866. package/dist/set-request-cookies-BJJhsU4A.js.map +0 -1
  1867. package/dist/settings-BKk_1lcH.js +0 -455
  1868. package/dist/settings-BKk_1lcH.js.map +0 -1
  1869. package/dist/sidebar-ceSbYmnt.js +0 -217
  1870. package/dist/sidebar-ceSbYmnt.js.map +0 -1
  1871. package/dist/store-DnlAQK5d.js +0 -1512
  1872. package/dist/store-DnlAQK5d.js.map +0 -1
  1873. package/dist/string-template-sS5PtY6T.js +0 -64
  1874. package/dist/string-template-sS5PtY6T.js.map +0 -1
  1875. package/dist/use-global-hot-keys-D8Ai8Qbm.js +0 -274
  1876. package/dist/use-global-hot-keys-D8Ai8Qbm.js.map +0 -1
  1877. package/dist/useSidebar-DLTwHDI-.js +0 -45
  1878. package/dist/useSidebar-DLTwHDI-.js.map +0 -1
  1879. package/dist/v2/components/modals/index.js.map +0 -1
  1880. package/dist/v2/features/app/index.js.map +0 -1
  1881. package/dist/v2/features/modal/index.js.map +0 -1
  1882. package/dist/views/Request/RequestSection/index.js.map +0 -1
  1883. package/dist/watch-mode-Dbaqd9bG.js +0 -375
  1884. package/dist/watch-mode-Dbaqd9bG.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"request-block-C1kLLMEd.js","names":[],"sources":["../src/v2/blocks/operation-block/helpers/get-selected-body-content-type.ts","../src/v2/blocks/request-block/helpers/get-request-body-example.ts","../src/v2/blocks/request-block/helpers/files.ts","../src/v2/blocks/request-block/helpers/validate-parameter.ts","../src/v2/blocks/request-block/components/RequestTableTooltip.vue","../src/v2/blocks/request-block/components/RequestTableTooltip.vue","../src/v2/blocks/request-block/components/RequestTableRow.vue","../src/v2/blocks/request-block/components/RequestTableRow.vue","../src/v2/blocks/request-block/components/RequestTable.vue","../src/v2/blocks/request-block/components/RequestTable.vue","../src/v2/blocks/request-block/helpers/get-form-body-rows.ts","../src/v2/blocks/request-block/components/RequestBodyForm.vue","../src/v2/blocks/request-block/components/RequestBodyForm.vue","../src/v2/blocks/request-block/components/RequestBody.vue","../src/v2/blocks/request-block/components/RequestBody.vue","../src/v2/blocks/request-block/components/RequestCodeSnippet.vue","../src/v2/blocks/request-block/components/RequestCodeSnippet.vue","../src/v2/blocks/request-block/components/RequestParams.vue","../src/v2/blocks/request-block/components/RequestParams.vue","../src/v2/blocks/request-block/helpers/create-parameter-handlers.ts","../src/v2/blocks/request-block/helpers/get-parameter-content.ts","../src/v2/blocks/request-block/helpers/get-parameter-schema.ts","../src/v2/blocks/request-block/helpers/group-by.ts","../src/v2/blocks/request-block/RequestBlock.vue","../src/v2/blocks/request-block/RequestBlock.vue"],"sourcesContent":["import type { RequestBodyObject } from '@scalar/workspace-store/schemas/v3.1/strict/request-body'\n\n/**\n * Returns the selected body content type for the given request body and exampleKey.\n * Priority:\n * 1. requestBody?.['x-scalar-selected-content-type']?.[exampleKey] (if set)\n * 2. First key in requestBody?.content (if available)\n * 3. null (if none available)\n */\nexport const getSelectedBodyContentType = (\n requestBody: RequestBodyObject | undefined,\n exampleKey: string = 'default',\n): string | null => {\n return (\n requestBody?.['x-scalar-selected-content-type']?.[exampleKey] ?? Object.keys(requestBody?.content ?? {})[0] ?? null\n )\n}\n","import { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { ExampleObject, RequestBodyObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { getExample } from '@/v2/blocks/operation-block/helpers/get-example'\nimport { getExampleFromSchema } from '@/v2/blocks/operation-code-sample/helpers/get-example-from-schema'\n\n/**\n * Basically getExample + we generate an example from the schema if no example is found\n */\nexport const getExampleFromBody = (\n requestBody: RequestBodyObject,\n contentType: string,\n exampleKey: string,\n): ExampleObject | null => {\n const content = requestBody.content?.[contentType]\n\n // Return existing example value if we have one\n const example = getExample(requestBody, exampleKey, contentType)\n if (example) {\n return example\n }\n\n const schema = getResolvedRef(content?.schema)\n if (!schema) {\n return null\n }\n\n // Generate an example from the schema\n const schemaExample = getExampleFromSchema(schema, { mode: 'write' })\n if (!schemaExample) {\n return null\n }\n\n return { value: schemaExample }\n}\n","/**\n * Extract file name from an input\n */\nexport const getFileName = (input: unknown) => {\n if (input instanceof File) {\n return input.name\n }\n return undefined\n}\n","import type { SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\n/**\n * Checks if the value of a example parameter is the expected type or format\n */\nexport const validateParameter = (\n schema?: SchemaObject,\n value?: string | File | null,\n): { ok: true } | { ok: false; message: string } => {\n if (!schema || !('type' in schema) || typeof value !== 'string') {\n return { ok: true }\n }\n\n // Numbers and integers validation\n if (schema.type === 'integer' || schema.type === 'number') {\n const numberValue = Number(value)\n\n if (isNaN(numberValue)) {\n return { ok: false, message: 'Value must be a number (e.g., 42.5)' }\n }\n\n if (schema.type === 'integer' && !Number.isInteger(numberValue)) {\n return { ok: false, message: 'Value must be a whole number (e.g., 42)' }\n }\n\n if (schema.minimum !== undefined && numberValue < schema.minimum) {\n return { ok: false, message: `Value must be ${schema.minimum} or greater` }\n }\n if (schema.maximum !== undefined && numberValue > schema.maximum) {\n return { ok: false, message: `Value must be ${schema.maximum} or less` }\n }\n }\n\n // string validations\n if (schema.type === 'string' && schema.format) {\n if (schema.format === 'date' && !/^\\d{4}-\\d{2}-\\d{2}$/.test(value ?? '')) {\n return { ok: false, message: 'Please enter a valid date in YYYY-MM-DD format (e.g., 2024-03-20)' }\n }\n if (\n schema.format === 'date-time' &&\n !/^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})$/.test(value ?? '')\n ) {\n return {\n ok: false,\n message: 'Please enter a valid date and time in RFC 3339 format (e.g., 2024-03-20T13:45:30Z)',\n }\n }\n if (schema.format === 'email' && !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value ?? '')) {\n return { ok: false, message: 'Please enter a valid email address (e.g., user@example.com)' }\n }\n if (schema.format === 'uri' && !/^[a-zA-Z][a-zA-Z0-9+.-]*:.+$/.test(value ?? '')) {\n return { ok: false, message: 'Please enter a valid URI (e.g., https://example.com)' }\n }\n }\n\n return { ok: true }\n}\n","<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\">\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 flex items-center\">\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 class=\"max-w-[16rem]\"\n :value=\"description\" />\n </div>\n </template>\n </ScalarPopover>\n</template>\n<style scoped>\n.schema > span:not(:first-child)::before {\n content: '·';\n display: block;\n margin: 0 0.5ch;\n}\n\n.schema > span {\n display: flex;\n white-space: nowrap;\n}\n</style>\n","<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\">\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 flex items-center\">\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 class=\"max-w-[16rem]\"\n :value=\"description\" />\n </div>\n </template>\n </ScalarPopover>\n</template>\n<style scoped>\n.schema > span:not(:first-child)::before {\n content: '·';\n display: block;\n margin: 0 0.5ch;\n}\n\n.schema > span {\n display: flex;\n white-space: nowrap;\n}\n</style>\n","<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 @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 @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 centered-x centered-y absolute hidden w-[calc(100%_-_8px)] rounded p-0.5 text-center text-xs font-medium group-hover/upload:block\"\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","<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 @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 @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 centered-x centered-y absolute hidden w-[calc(100%_-_8px)] rounded p-0.5 text-center text-xs font-medium group-hover/upload:block\"\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","<script setup lang=\"ts\">\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport { computed } from 'vue'\n\nimport RequestTableRow, {\n type TableRow,\n} from '@/v2/blocks/request-block/components/RequestTableRow.vue'\nimport {\n DataTable,\n DataTableHeader,\n DataTableRow,\n} from '@/v2/components/data-table'\n\nconst {\n data,\n hasCheckboxDisabled,\n showUploadButton,\n showAddRowPlaceholder = true,\n environment,\n} = defineProps<{\n data: TableRow[]\n /** Hide the enabled column */\n hasCheckboxDisabled?: boolean\n invalidParams?: Set<string>\n label?: string\n showUploadButton?: boolean\n showAddRowPlaceholder?: boolean\n environment: XScalarEnvironment\n}>()\n\n/**\n * Make this component more generic that can be used also for the operation body\n */\nconst emit = defineEmits<{\n (\n e: 'upsertRow',\n index: number,\n payload: {\n name: string\n value: string | File | undefined\n isDisabled: boolean\n },\n ): void\n (e: 'deleteRow', index: number): void\n\n /**\n * File upload events\n *\n * Each row has its own upload button, so we need to know which row to update\n * when the file is selected.\n */\n (e: 'uploadFile', index: number): void\n (e: 'removeFile', index: number): void\n (e: 'navigate', route: NonNullable<TableRow['globalRoute']>): void\n}>()\n\nconst columns = computed(() => {\n if (showUploadButton) {\n return ['36px', '', '', 'auto']\n }\n return ['36px', '', '']\n})\n\n/** Add the last empty row (for ui purposes only) */\nconst displayData = computed(() => {\n if (!showAddRowPlaceholder) {\n return data\n }\n\n const last = data.at(-1)\n\n if (!last || last.name !== '' || last.value !== '') {\n return [...data, { name: '', value: '', isDisabled: true }]\n }\n\n return data\n})\n</script>\n<template>\n <DataTable\n class=\"group/table flex-1\"\n :columns=\"columns\">\n <DataTableRow class=\"sr-only !block\">\n <DataTableHeader>{{ label }} Enabled</DataTableHeader>\n <DataTableHeader>{{ label }} Key</DataTableHeader>\n <DataTableHeader>{{ label }} Value</DataTableHeader>\n </DataTableRow>\n\n <RequestTableRow\n v-for=\"(row, index) in displayData\"\n :key=\"index\"\n :data=\"row\"\n :environment=\"environment\"\n :hasCheckboxDisabled=\"hasCheckboxDisabled\"\n :invalidParams=\"invalidParams\"\n :label=\"label\"\n :showUploadButton=\"showUploadButton\"\n @deleteRow=\"emit('deleteRow', index)\"\n @navigate=\"(route) => emit('navigate', route)\"\n @removeFile=\"emit('removeFile', index)\"\n @uploadFile=\"emit('uploadFile', index)\"\n @upsertRow=\"(payload) => emit('upsertRow', index, payload)\" />\n </DataTable>\n</template>\n<style scoped>\n:deep(.cm-editor) {\n padding: 0;\n}\n:deep(.cm-content) {\n align-items: center;\n background-color: transparent;\n display: flex;\n font-family: var(--scalar-font);\n font-size: var(--scalar-small);\n padding: 5px 8px;\n width: 100%;\n}\n:deep(.cm-content):has(.cm-pill) {\n padding: 5px 8px;\n}\n:deep(.cm-content .cm-pill:not(:last-of-type)) {\n margin-right: 0.5px;\n}\n:deep(.cm-content .cm-pill:not(:first-of-type)) {\n margin-left: 0.5px;\n}\n:deep(.cm-line) {\n overflow: hidden;\n padding: 0;\n text-overflow: ellipsis;\n}\n.filemask {\n mask-image: linear-gradient(\n to right,\n transparent 0,\n var(--scalar-background-2) 20px\n );\n}\n</style>\n","<script setup lang=\"ts\">\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport { computed } from 'vue'\n\nimport RequestTableRow, {\n type TableRow,\n} from '@/v2/blocks/request-block/components/RequestTableRow.vue'\nimport {\n DataTable,\n DataTableHeader,\n DataTableRow,\n} from '@/v2/components/data-table'\n\nconst {\n data,\n hasCheckboxDisabled,\n showUploadButton,\n showAddRowPlaceholder = true,\n environment,\n} = defineProps<{\n data: TableRow[]\n /** Hide the enabled column */\n hasCheckboxDisabled?: boolean\n invalidParams?: Set<string>\n label?: string\n showUploadButton?: boolean\n showAddRowPlaceholder?: boolean\n environment: XScalarEnvironment\n}>()\n\n/**\n * Make this component more generic that can be used also for the operation body\n */\nconst emit = defineEmits<{\n (\n e: 'upsertRow',\n index: number,\n payload: {\n name: string\n value: string | File | undefined\n isDisabled: boolean\n },\n ): void\n (e: 'deleteRow', index: number): void\n\n /**\n * File upload events\n *\n * Each row has its own upload button, so we need to know which row to update\n * when the file is selected.\n */\n (e: 'uploadFile', index: number): void\n (e: 'removeFile', index: number): void\n (e: 'navigate', route: NonNullable<TableRow['globalRoute']>): void\n}>()\n\nconst columns = computed(() => {\n if (showUploadButton) {\n return ['36px', '', '', 'auto']\n }\n return ['36px', '', '']\n})\n\n/** Add the last empty row (for ui purposes only) */\nconst displayData = computed(() => {\n if (!showAddRowPlaceholder) {\n return data\n }\n\n const last = data.at(-1)\n\n if (!last || last.name !== '' || last.value !== '') {\n return [...data, { name: '', value: '', isDisabled: true }]\n }\n\n return data\n})\n</script>\n<template>\n <DataTable\n class=\"group/table flex-1\"\n :columns=\"columns\">\n <DataTableRow class=\"sr-only !block\">\n <DataTableHeader>{{ label }} Enabled</DataTableHeader>\n <DataTableHeader>{{ label }} Key</DataTableHeader>\n <DataTableHeader>{{ label }} Value</DataTableHeader>\n </DataTableRow>\n\n <RequestTableRow\n v-for=\"(row, index) in displayData\"\n :key=\"index\"\n :data=\"row\"\n :environment=\"environment\"\n :hasCheckboxDisabled=\"hasCheckboxDisabled\"\n :invalidParams=\"invalidParams\"\n :label=\"label\"\n :showUploadButton=\"showUploadButton\"\n @deleteRow=\"emit('deleteRow', index)\"\n @navigate=\"(route) => emit('navigate', route)\"\n @removeFile=\"emit('removeFile', index)\"\n @uploadFile=\"emit('uploadFile', index)\"\n @upsertRow=\"(payload) => emit('upsertRow', index, payload)\" />\n </DataTable>\n</template>\n<style scoped>\n:deep(.cm-editor) {\n padding: 0;\n}\n:deep(.cm-content) {\n align-items: center;\n background-color: transparent;\n display: flex;\n font-family: var(--scalar-font);\n font-size: var(--scalar-small);\n padding: 5px 8px;\n width: 100%;\n}\n:deep(.cm-content):has(.cm-pill) {\n padding: 5px 8px;\n}\n:deep(.cm-content .cm-pill:not(:last-of-type)) {\n margin-right: 0.5px;\n}\n:deep(.cm-content .cm-pill:not(:first-of-type)) {\n margin-left: 0.5px;\n}\n:deep(.cm-line) {\n overflow: hidden;\n padding: 0;\n text-overflow: ellipsis;\n}\n.filemask {\n mask-image: linear-gradient(\n to right,\n transparent 0,\n var(--scalar-background-2) 20px\n );\n}\n</style>\n","import { isObject } from '@scalar/helpers/object/is-object'\nimport { objectEntries } from '@scalar/helpers/object/object-entries'\nimport { resolve } from '@scalar/workspace-store/resolve'\nimport type { ExampleObject, SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { isObjectSchema } from '@scalar/workspace-store/schemas/v3.1/strict/type-guards'\n\nimport type { TableRow } from '@/v2/blocks/request-block/components/RequestTableRow.vue'\n\n/** Build the table rows for the form data, optionally enriched with schema (e.g. enum) per property */\nexport const getFormBodyRows = (\n example: ExampleObject | undefined | null,\n contentType: string,\n formBodySchema?: SchemaObject,\n): TableRow[] => {\n // We only need the rows for formData\n if (\n !example?.value ||\n (contentType !== 'multipart/form-data' && contentType !== 'application/x-www-form-urlencoded')\n ) {\n return []\n }\n\n // Get all the schema properties if the schema is an object schema\n const schemaWithProperties = formBodySchema && isObjectSchema(formBodySchema) ? formBodySchema : undefined\n const requiredSet = schemaWithProperties ? new Set(schemaWithProperties.required ?? []) : undefined\n\n const mapRow = ({\n name,\n value,\n isDisabled = false,\n }: {\n name: string\n value: string | File\n isDisabled?: boolean\n }): TableRow => {\n const row: TableRow = { name, value, isDisabled }\n if (!schemaWithProperties || !name) {\n return row\n }\n const propSchema = resolve.schema(schemaWithProperties.properties?.[name])\n row.schema = propSchema\n row.description = propSchema?.description\n row.isRequired = requiredSet?.has(name)\n row.isDisabled = isDisabled\n return row\n }\n\n // We have form data stored as an array\n if (Array.isArray(example.value)) {\n return example.value.map((exampleValue) => {\n if (isObject(exampleValue)) {\n const name = String(exampleValue.name)\n const value = exampleValue.value instanceof File ? exampleValue.value : String(exampleValue.value)\n const isDisabled = Boolean(exampleValue.isDisabled)\n return mapRow({ name, value, isDisabled })\n }\n return { name: '', value: exampleValue, isDisabled: false }\n })\n }\n\n // We got an object try to convert it to an array of rows\n if (typeof example.value === 'object' && example.value) {\n return objectEntries(example.value).map(([key, value]) => mapRow({ name: String(key), value }))\n }\n\n return []\n}\n","<script setup lang=\"ts\">\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n ExampleObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { ref, watch } from 'vue'\n\nimport { useFileDialog } from '@/hooks'\nimport RequestTable from '@/v2/blocks/request-block/components/RequestTable.vue'\nimport type { TableRow } from '@/v2/blocks/request-block/components/RequestTableRow.vue'\nimport { getFormBodyRows } from '@/v2/blocks/request-block/helpers/get-form-body-rows'\n\nconst { example, bodySchema, selectedContentType, environment } = defineProps<{\n example: ExampleObject | undefined | null\n /** Resolved schema for the form body so the table can show enums and validation per field */\n bodySchema?: SchemaObject\n selectedContentType: string\n environment: XScalarEnvironment\n}>()\n\nconst emit = defineEmits<{\n (\n e: 'update:formValue',\n payload: ApiReferenceEvents['operation:update:requestBody:formValue']['payload'],\n ): void\n}>()\n\n/** Local state for form body rows */\nconst localFormBodyRows = ref<TableRow[]>([])\n\n/** Sync the local form body rows with the example and schema */\nwatch(\n () => [example, bodySchema, selectedContentType] as const,\n ([newExample, schema, contentType]) => {\n localFormBodyRows.value = getFormBodyRows(newExample, contentType, schema)\n },\n { immediate: true },\n)\n\nconst handleUpdateFormValue = (rows: TableRow[]) => {\n emit(\n 'update:formValue',\n rows.map((row) => ({\n name: row.name,\n value: row.value as string | File,\n isDisabled: row.isDisabled ?? false,\n })),\n )\n}\n\n/** Update a row in the table, combines with the previous data so we emit a whole row */\nconst handleUpsertRow = (\n index: number,\n payload: Partial<{\n name: string\n value: string | File | undefined\n isDisabled: boolean\n }>,\n) => {\n // Add new row\n if (index >= localFormBodyRows.value.length) {\n localFormBodyRows.value = [\n ...localFormBodyRows.value,\n { name: '', value: '', ...payload, isDisabled: false },\n ]\n handleUpdateFormValue(localFormBodyRows.value)\n return\n }\n\n localFormBodyRows.value = localFormBodyRows.value.map((row, i) =>\n i === index ? { ...row, ...payload } : row,\n )\n handleUpdateFormValue(localFormBodyRows.value)\n}\n\n/** Delete a row from the table */\nconst handleDeleteRow = (index: number) => {\n localFormBodyRows.value = localFormBodyRows.value.filter(\n (_, i) => i !== index,\n )\n handleUpdateFormValue(localFormBodyRows.value)\n}\n\n/** Handle file upload for a specific row index */\nconst handleFileUpload = (index: number) => {\n const { open } = useFileDialog({\n onChange: (files) => {\n const file = files?.[0]\n\n if (file) {\n const currentRow = localFormBodyRows.value[index]\n handleUpsertRow(index, {\n name: currentRow?.name || file.name,\n value: file,\n })\n }\n },\n multiple: false,\n accept: '*/*',\n })\n open()\n}\n</script>\n\n<template>\n <!-- Form Data -->\n <template v-if=\"selectedContentType === 'multipart/form-data'\">\n <RequestTable\n :data=\"localFormBodyRows\"\n :environment=\"environment\"\n showUploadButton\n @deleteRow=\"handleDeleteRow\"\n @removeFile=\"(index) => handleUpsertRow(index, { value: undefined })\"\n @uploadFile=\"handleFileUpload\"\n @upsertRow=\"handleUpsertRow\" />\n </template>\n\n <!-- Form URL Encoded -->\n <template v-else>\n <RequestTable\n :data=\"localFormBodyRows\"\n :environment=\"environment\"\n @deleteRow=\"handleDeleteRow\"\n @upsertRow=\"handleUpsertRow\" />\n </template>\n</template>\n","<script setup lang=\"ts\">\nimport type { ApiReferenceEvents } from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type {\n ExampleObject,\n SchemaObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { ref, watch } from 'vue'\n\nimport { useFileDialog } from '@/hooks'\nimport RequestTable from '@/v2/blocks/request-block/components/RequestTable.vue'\nimport type { TableRow } from '@/v2/blocks/request-block/components/RequestTableRow.vue'\nimport { getFormBodyRows } from '@/v2/blocks/request-block/helpers/get-form-body-rows'\n\nconst { example, bodySchema, selectedContentType, environment } = defineProps<{\n example: ExampleObject | undefined | null\n /** Resolved schema for the form body so the table can show enums and validation per field */\n bodySchema?: SchemaObject\n selectedContentType: string\n environment: XScalarEnvironment\n}>()\n\nconst emit = defineEmits<{\n (\n e: 'update:formValue',\n payload: ApiReferenceEvents['operation:update:requestBody:formValue']['payload'],\n ): void\n}>()\n\n/** Local state for form body rows */\nconst localFormBodyRows = ref<TableRow[]>([])\n\n/** Sync the local form body rows with the example and schema */\nwatch(\n () => [example, bodySchema, selectedContentType] as const,\n ([newExample, schema, contentType]) => {\n localFormBodyRows.value = getFormBodyRows(newExample, contentType, schema)\n },\n { immediate: true },\n)\n\nconst handleUpdateFormValue = (rows: TableRow[]) => {\n emit(\n 'update:formValue',\n rows.map((row) => ({\n name: row.name,\n value: row.value as string | File,\n isDisabled: row.isDisabled ?? false,\n })),\n )\n}\n\n/** Update a row in the table, combines with the previous data so we emit a whole row */\nconst handleUpsertRow = (\n index: number,\n payload: Partial<{\n name: string\n value: string | File | undefined\n isDisabled: boolean\n }>,\n) => {\n // Add new row\n if (index >= localFormBodyRows.value.length) {\n localFormBodyRows.value = [\n ...localFormBodyRows.value,\n { name: '', value: '', ...payload, isDisabled: false },\n ]\n handleUpdateFormValue(localFormBodyRows.value)\n return\n }\n\n localFormBodyRows.value = localFormBodyRows.value.map((row, i) =>\n i === index ? { ...row, ...payload } : row,\n )\n handleUpdateFormValue(localFormBodyRows.value)\n}\n\n/** Delete a row from the table */\nconst handleDeleteRow = (index: number) => {\n localFormBodyRows.value = localFormBodyRows.value.filter(\n (_, i) => i !== index,\n )\n handleUpdateFormValue(localFormBodyRows.value)\n}\n\n/** Handle file upload for a specific row index */\nconst handleFileUpload = (index: number) => {\n const { open } = useFileDialog({\n onChange: (files) => {\n const file = files?.[0]\n\n if (file) {\n const currentRow = localFormBodyRows.value[index]\n handleUpsertRow(index, {\n name: currentRow?.name || file.name,\n value: file,\n })\n }\n },\n multiple: false,\n accept: '*/*',\n })\n open()\n}\n</script>\n\n<template>\n <!-- Form Data -->\n <template v-if=\"selectedContentType === 'multipart/form-data'\">\n <RequestTable\n :data=\"localFormBodyRows\"\n :environment=\"environment\"\n showUploadButton\n @deleteRow=\"handleDeleteRow\"\n @removeFile=\"(index) => handleUpsertRow(index, { value: undefined })\"\n @uploadFile=\"handleFileUpload\"\n @upsertRow=\"handleUpsertRow\" />\n </template>\n\n <!-- Form URL Encoded -->\n <template v-else>\n <RequestTable\n :data=\"localFormBodyRows\"\n :environment=\"environment\"\n @deleteRow=\"handleDeleteRow\"\n @upsertRow=\"handleUpsertRow\" />\n </template>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarButton, ScalarIcon, ScalarListbox } from '@scalar/components'\nimport { CONTENT_TYPES } from '@scalar/helpers/consts/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 { 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'\nimport { getSelectedBodyContentType } from '@/v2/blocks/operation-block/helpers/get-selected-body-content-type'\nimport RequestBodyForm from '@/v2/blocks/request-block/components/RequestBodyForm.vue'\nimport { getFileName } from '@/v2/blocks/request-block/helpers/files'\nimport { getExampleFromBody } from '@/v2/blocks/request-block/helpers/get-request-body-example'\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 { requestBody, exampleKey, environment, title } = 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}>()\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(requestBody, selectedContentType.value, exampleKey),\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 @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","<script setup lang=\"ts\">\nimport { ScalarButton, ScalarIcon, ScalarListbox } from '@scalar/components'\nimport { CONTENT_TYPES } from '@scalar/helpers/consts/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 { 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'\nimport { getSelectedBodyContentType } from '@/v2/blocks/operation-block/helpers/get-selected-body-content-type'\nimport RequestBodyForm from '@/v2/blocks/request-block/components/RequestBodyForm.vue'\nimport { getFileName } from '@/v2/blocks/request-block/helpers/files'\nimport { getExampleFromBody } from '@/v2/blocks/request-block/helpers/get-request-body-example'\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 { requestBody, exampleKey, environment, title } = 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}>()\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(requestBody, selectedContentType.value, exampleKey),\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 @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","<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarCodeBlock,\n ScalarCombobox,\n ScalarErrorBoundary,\n} from '@scalar/components'\nimport { ScalarIconCaretDown } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { computed, ref, watch } from 'vue'\n\nimport {\n findClient,\n type ClientOption,\n type CustomClientOption,\n} from '@/v2/blocks/operation-code-sample'\nimport type { OperationCodeSampleProps } from '@/v2/blocks/operation-code-sample/components/OperationCodeSample.vue'\nimport { generateCodeSnippet } from '@/v2/blocks/operation-code-sample/helpers/generate-code-snippet'\nimport { getClients } from '@/v2/blocks/operation-code-sample/helpers/get-clients'\nimport { getCustomCodeSamples } from '@/v2/blocks/operation-code-sample/helpers/get-custom-code-samples'\nimport { getSecrets } from '@/v2/blocks/operation-code-sample/helpers/get-secrets'\nimport { DataTable, DataTableRow } from '@/v2/components/data-table'\nimport { CollapsibleSection } from '@/v2/components/layout'\n\nconst {\n clientOptions,\n eventBus,\n operation,\n method,\n path,\n selectedContentType,\n selectedServer = null,\n selectedExample,\n securitySchemes,\n selectedClient,\n globalCookies,\n integration,\n} = defineProps<OperationCodeSampleProps & { eventBus: WorkspaceEventBus }>()\n\n/** Grab any custom code samples from the operation */\nconst customCodeSamples = computed(() => getCustomCodeSamples(operation))\n\n/** Merge custom code samples with the client options */\nconst clients = computed(() =>\n getClients(customCodeSamples.value, clientOptions),\n)\n\n/**\n * The locally selected client which would include code samples from this operation only\n * Must be local state because it contains custom code samples from this operation only\n */\nconst localSelectedClient = ref<ClientOption | CustomClientOption | undefined>(\n findClient(clients.value, selectedClient),\n)\n\n/** If the globally selected client changes we can update the local one */\nwatch(\n () => selectedClient,\n (newClient) => {\n const client = findClient(clients.value, newClient)\n if (client) {\n localSelectedClient.value = client\n }\n },\n)\n\n/** Block secrets from being shown in the code block */\nconst secretCredentials = computed(() => getSecrets(securitySchemes ?? []))\n\n/** Handle client change */\nconst handleClientChange = (option: ClientOption | undefined) => {\n localSelectedClient.value = option\n\n // Emit the change if it's not a custom example\n if (option && !option.id.startsWith('custom')) {\n eventBus.emit('workspace:update:selected-client', option.id)\n }\n}\n\n/** Generate the code snippet for the selected example */\nconst generatedCode = computed<string>(() =>\n generateCodeSnippet({\n clientId: localSelectedClient.value?.id,\n customCodeSamples: customCodeSamples.value,\n operation,\n method,\n path,\n contentType: selectedContentType,\n server: selectedServer,\n securitySchemes,\n example: selectedExample,\n globalCookies,\n includeDefaultHeaders: integration === 'client',\n }),\n)\n\n/** Check if there are any clients available (built-in or custom code samples) */\nconst hasClients = computed(() =>\n clients.value.some((group) => group.options.length > 0),\n)\n</script>\n\n<template>\n <CollapsibleSection\n v-show=\"hasClients\"\n class=\"group/preview w-full border-t\"\n :defaultOpen=\"false\">\n <template #title>Code Snippet</template>\n\n <!-- Client selector -->\n <template #actions>\n <div class=\"flex flex-1\">\n <ScalarCombobox\n :modelValue=\"localSelectedClient\"\n :options=\"clients\"\n placement=\"bottom-end\"\n @update:modelValue=\"\n (ev) => handleClientChange(ev as ClientOption | undefined)\n \">\n <template #default=\"{ open }\">\n <ScalarButton\n class=\"text-c-2 hover:text-c-1 flex h-full w-fit gap-1.5 px-0.5 py-0 text-base font-normal\"\n data-testid=\"client-picker\"\n variant=\"ghost\">\n {{ localSelectedClient?.title }}\n <ScalarIconCaretDown\n class=\"mt-0.25 size-3 transition-transform duration-100\"\n :class=\"open && 'rotate-180'\"\n weight=\"bold\" />\n </ScalarButton>\n </template>\n </ScalarCombobox>\n </div>\n </template>\n\n <!-- Code snippet -->\n <ScalarErrorBoundary>\n <DataTable\n :columns=\"['']\"\n presentational>\n <DataTableRow>\n <div class=\"overflow-hidden\">\n <ScalarCodeBlock\n class=\"text-base\"\n :content=\"generatedCode\"\n :hideCredentials=\"secretCredentials\"\n :lang=\"localSelectedClient?.lang ?? 'plaintext'\"\n lineNumbers />\n </div>\n </DataTableRow>\n </DataTable>\n </ScalarErrorBoundary>\n </CollapsibleSection>\n</template>\n","<script setup lang=\"ts\">\nimport {\n ScalarButton,\n ScalarCodeBlock,\n ScalarCombobox,\n ScalarErrorBoundary,\n} from '@scalar/components'\nimport { ScalarIconCaretDown } from '@scalar/icons'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { computed, ref, watch } from 'vue'\n\nimport {\n findClient,\n type ClientOption,\n type CustomClientOption,\n} from '@/v2/blocks/operation-code-sample'\nimport type { OperationCodeSampleProps } from '@/v2/blocks/operation-code-sample/components/OperationCodeSample.vue'\nimport { generateCodeSnippet } from '@/v2/blocks/operation-code-sample/helpers/generate-code-snippet'\nimport { getClients } from '@/v2/blocks/operation-code-sample/helpers/get-clients'\nimport { getCustomCodeSamples } from '@/v2/blocks/operation-code-sample/helpers/get-custom-code-samples'\nimport { getSecrets } from '@/v2/blocks/operation-code-sample/helpers/get-secrets'\nimport { DataTable, DataTableRow } from '@/v2/components/data-table'\nimport { CollapsibleSection } from '@/v2/components/layout'\n\nconst {\n clientOptions,\n eventBus,\n operation,\n method,\n path,\n selectedContentType,\n selectedServer = null,\n selectedExample,\n securitySchemes,\n selectedClient,\n globalCookies,\n integration,\n} = defineProps<OperationCodeSampleProps & { eventBus: WorkspaceEventBus }>()\n\n/** Grab any custom code samples from the operation */\nconst customCodeSamples = computed(() => getCustomCodeSamples(operation))\n\n/** Merge custom code samples with the client options */\nconst clients = computed(() =>\n getClients(customCodeSamples.value, clientOptions),\n)\n\n/**\n * The locally selected client which would include code samples from this operation only\n * Must be local state because it contains custom code samples from this operation only\n */\nconst localSelectedClient = ref<ClientOption | CustomClientOption | undefined>(\n findClient(clients.value, selectedClient),\n)\n\n/** If the globally selected client changes we can update the local one */\nwatch(\n () => selectedClient,\n (newClient) => {\n const client = findClient(clients.value, newClient)\n if (client) {\n localSelectedClient.value = client\n }\n },\n)\n\n/** Block secrets from being shown in the code block */\nconst secretCredentials = computed(() => getSecrets(securitySchemes ?? []))\n\n/** Handle client change */\nconst handleClientChange = (option: ClientOption | undefined) => {\n localSelectedClient.value = option\n\n // Emit the change if it's not a custom example\n if (option && !option.id.startsWith('custom')) {\n eventBus.emit('workspace:update:selected-client', option.id)\n }\n}\n\n/** Generate the code snippet for the selected example */\nconst generatedCode = computed<string>(() =>\n generateCodeSnippet({\n clientId: localSelectedClient.value?.id,\n customCodeSamples: customCodeSamples.value,\n operation,\n method,\n path,\n contentType: selectedContentType,\n server: selectedServer,\n securitySchemes,\n example: selectedExample,\n globalCookies,\n includeDefaultHeaders: integration === 'client',\n }),\n)\n\n/** Check if there are any clients available (built-in or custom code samples) */\nconst hasClients = computed(() =>\n clients.value.some((group) => group.options.length > 0),\n)\n</script>\n\n<template>\n <CollapsibleSection\n v-show=\"hasClients\"\n class=\"group/preview w-full border-t\"\n :defaultOpen=\"false\">\n <template #title>Code Snippet</template>\n\n <!-- Client selector -->\n <template #actions>\n <div class=\"flex flex-1\">\n <ScalarCombobox\n :modelValue=\"localSelectedClient\"\n :options=\"clients\"\n placement=\"bottom-end\"\n @update:modelValue=\"\n (ev) => handleClientChange(ev as ClientOption | undefined)\n \">\n <template #default=\"{ open }\">\n <ScalarButton\n class=\"text-c-2 hover:text-c-1 flex h-full w-fit gap-1.5 px-0.5 py-0 text-base font-normal\"\n data-testid=\"client-picker\"\n variant=\"ghost\">\n {{ localSelectedClient?.title }}\n <ScalarIconCaretDown\n class=\"mt-0.25 size-3 transition-transform duration-100\"\n :class=\"open && 'rotate-180'\"\n weight=\"bold\" />\n </ScalarButton>\n </template>\n </ScalarCombobox>\n </div>\n </template>\n\n <!-- Code snippet -->\n <ScalarErrorBoundary>\n <DataTable\n :columns=\"['']\"\n presentational>\n <DataTableRow>\n <div class=\"overflow-hidden\">\n <ScalarCodeBlock\n class=\"text-base\"\n :content=\"generatedCode\"\n :hideCredentials=\"secretCredentials\"\n :lang=\"localSelectedClient?.lang ?? 'plaintext'\"\n lineNumbers />\n </div>\n </DataTableRow>\n </DataTable>\n </ScalarErrorBoundary>\n </CollapsibleSection>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarButton, ScalarTooltip } from '@scalar/components'\nimport type {\n ApiReferenceEvents,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport { computed } from 'vue'\n\nimport { CollapsibleSection } from '@/v2/components/layout'\n\nimport RequestTable from './RequestTable.vue'\nimport type { TableRow } from './RequestTableRow.vue'\n\nconst {\n rows,\n exampleKey,\n environment,\n title,\n globalRoute,\n showAddRowPlaceholder = true,\n eventBus,\n} = defineProps<{\n rows: TableRow[]\n exampleKey: string\n title: string\n label?: string\n invalidParams?: Set<string>\n globalRoute?: string\n showAddRowPlaceholder?: boolean\n environment: XScalarEnvironment\n eventBus: WorkspaceEventBus\n}>()\n\nconst emit = defineEmits<{\n (\n e: 'upsert',\n index: number,\n payload: ApiReferenceEvents['operation:upsert:parameter']['payload'],\n ): void\n (e: 'delete', payload: { index: number }): void\n (e: 'deleteAll'): void\n}>()\n\nconst showTooltip = computed(() => rows.length > 1)\n\n/** Needed for type guard */\nconst handleUpserRow = (\n index: number,\n payload: {\n name: string\n value: string | File | undefined\n isDisabled: boolean\n },\n) => {\n const { value, ...rest } = payload\n\n // Type guard here as we cannot add files to params\n if (value instanceof File) {\n return\n }\n\n emit('upsert', index, { ...rest, value: value ?? '' })\n}\n</script>\n<template>\n <CollapsibleSection\n class=\"group/params\"\n :itemCount=\"rows.length\">\n <template #title>{{ title }}</template>\n <template #actions>\n <div\n class=\"text-c-2 request-meta-buttons flex whitespace-nowrap opacity-0 group-hover/params:opacity-100 has-[:focus-visible]:opacity-100\">\n <ScalarTooltip\n v-if=\"showTooltip\"\n content=\"Clear optional parameters\"\n placement=\"left\">\n <ScalarButton\n class=\"pr-0.75 pl-1 transition-none\"\n size=\"sm\"\n variant=\"ghost\"\n @click.stop=\"emit('deleteAll')\">\n Clear\n <span class=\"sr-only\">All {{ title }}</span>\n </ScalarButton>\n </ScalarTooltip>\n </div>\n </template>\n <RequestTable\n class=\"flex-1\"\n :columns=\"['32px', '', '']\"\n :data=\"rows\"\n :environment=\"environment\"\n :exampleKey=\"exampleKey\"\n :globalRoute=\"globalRoute\"\n :invalidParams=\"invalidParams\"\n :label=\"label\"\n :showAddRowPlaceholder=\"showAddRowPlaceholder\"\n @deleteRow=\"(index) => emit('delete', { index })\"\n @navigate=\"(route) => eventBus.emit('ui:navigate', route)\"\n @upsertRow=\"handleUpserRow\" />\n </CollapsibleSection>\n</template>\n","<script setup lang=\"ts\">\nimport { ScalarButton, ScalarTooltip } from '@scalar/components'\nimport type {\n ApiReferenceEvents,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport { computed } from 'vue'\n\nimport { CollapsibleSection } from '@/v2/components/layout'\n\nimport RequestTable from './RequestTable.vue'\nimport type { TableRow } from './RequestTableRow.vue'\n\nconst {\n rows,\n exampleKey,\n environment,\n title,\n globalRoute,\n showAddRowPlaceholder = true,\n eventBus,\n} = defineProps<{\n rows: TableRow[]\n exampleKey: string\n title: string\n label?: string\n invalidParams?: Set<string>\n globalRoute?: string\n showAddRowPlaceholder?: boolean\n environment: XScalarEnvironment\n eventBus: WorkspaceEventBus\n}>()\n\nconst emit = defineEmits<{\n (\n e: 'upsert',\n index: number,\n payload: ApiReferenceEvents['operation:upsert:parameter']['payload'],\n ): void\n (e: 'delete', payload: { index: number }): void\n (e: 'deleteAll'): void\n}>()\n\nconst showTooltip = computed(() => rows.length > 1)\n\n/** Needed for type guard */\nconst handleUpserRow = (\n index: number,\n payload: {\n name: string\n value: string | File | undefined\n isDisabled: boolean\n },\n) => {\n const { value, ...rest } = payload\n\n // Type guard here as we cannot add files to params\n if (value instanceof File) {\n return\n }\n\n emit('upsert', index, { ...rest, value: value ?? '' })\n}\n</script>\n<template>\n <CollapsibleSection\n class=\"group/params\"\n :itemCount=\"rows.length\">\n <template #title>{{ title }}</template>\n <template #actions>\n <div\n class=\"text-c-2 request-meta-buttons flex whitespace-nowrap opacity-0 group-hover/params:opacity-100 has-[:focus-visible]:opacity-100\">\n <ScalarTooltip\n v-if=\"showTooltip\"\n content=\"Clear optional parameters\"\n placement=\"left\">\n <ScalarButton\n class=\"pr-0.75 pl-1 transition-none\"\n size=\"sm\"\n variant=\"ghost\"\n @click.stop=\"emit('deleteAll')\">\n Clear\n <span class=\"sr-only\">All {{ title }}</span>\n </ScalarButton>\n </ScalarTooltip>\n </div>\n </template>\n <RequestTable\n class=\"flex-1\"\n :columns=\"['32px', '', '']\"\n :data=\"rows\"\n :environment=\"environment\"\n :exampleKey=\"exampleKey\"\n :globalRoute=\"globalRoute\"\n :invalidParams=\"invalidParams\"\n :label=\"label\"\n :showAddRowPlaceholder=\"showAddRowPlaceholder\"\n @deleteRow=\"(index) => emit('delete', { index })\"\n @navigate=\"(route) => eventBus.emit('ui:navigate', route)\"\n @upsertRow=\"handleUpserRow\" />\n </CollapsibleSection>\n</template>\n","import type { OperationExampleMeta, WorkspaceEventBus } from '@scalar/workspace-store/events'\n\nimport type { TableRow } from '@/v2/blocks/request-block/components/RequestTableRow.vue'\n\ntype ParameterType = 'path' | 'cookie' | 'header' | 'query'\n\n/** Create parameter event handlers for a given type */\nexport const createParameterHandlers = (\n type: ParameterType,\n eventBus: WorkspaceEventBus,\n meta: OperationExampleMeta,\n {\n context,\n defaultParameters = 0,\n globalParameters = 0,\n }: {\n context: TableRow[]\n defaultParameters?: number\n globalParameters?: number\n },\n) => {\n const offset = defaultParameters + globalParameters\n\n return {\n delete: (payload: { index: number }) => {\n const originalParameter = context[payload.index]?.originalParameter\n if (!originalParameter) {\n return\n }\n eventBus.emit(\n 'operation:delete:parameter',\n {\n originalParameter,\n meta,\n },\n {\n skipUnpackProxy: true,\n },\n )\n },\n deleteAll: () =>\n eventBus.emit('operation:delete-all:parameters', {\n type,\n meta,\n }),\n upsert: (index: number, payload: { name: string; value: string; isDisabled: boolean }) => {\n const row = context[index]\n\n if (index < defaultParameters + globalParameters) {\n const extraParameterType = index < defaultParameters ? 'default' : 'global'\n\n return eventBus.emit('operation:update:extra-parameters', {\n type: extraParameterType,\n in: type,\n meta: { ...meta, name: row?.name?.toLowerCase?.() ?? 'NON_VALID' },\n payload: { isDisabled: payload.isDisabled ?? false },\n })\n }\n\n if (index >= offset) {\n return eventBus.emit(\n 'operation:upsert:parameter',\n {\n type,\n payload: payload,\n originalParameter: row?.originalParameter ?? null,\n meta,\n },\n {\n skipUnpackProxy: true,\n debounceKey: `update:parameter-${type}-${index - offset}`,\n },\n )\n }\n },\n }\n}\n","import type { MediaTypeObject, ParameterObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\n/**\n * Extract content value from parameter object\n *\n * Parameters MUST only have one specified content key\n */\nexport const getParameterContentValue = (parameter: ParameterObject): MediaTypeObject | undefined => {\n if ('content' in parameter && parameter.content) {\n const keys = Object.keys(parameter.content)\n\n if (keys.length !== 1) {\n return undefined\n }\n\n return parameter.content[keys[0]!]\n }\n\n return undefined\n}\n","import { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport type { ParameterObject, SchemaObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\nimport { getParameterContentValue } from './get-parameter-content'\n\n/**\n * Extract the schema from the parameter object\n */\nexport const getParameterSchema = (parameter: ParameterObject): SchemaObject | undefined => {\n if ('schema' in parameter && parameter.schema) {\n return getResolvedRef(parameter.schema)\n }\n\n return getResolvedRef(getParameterContentValue(parameter)?.schema)\n}\n","/**\n * Group together array objects by a specific key\n */\nexport const groupBy = <\n T extends Record<string, unknown>,\n K extends keyof T,\n V extends string | number | symbol = Extract<T[K], string | number | symbol>,\n R = T,\n>(\n arr: T[],\n key: K,\n transform?: (item: T) => R,\n): Record<V, R[]> => {\n return arr.reduce(\n (acc, obj) => {\n const transformedItem = transform ? transform(obj) : (obj as unknown as R)\n ;(acc[obj[key] as V] ??= []).push(transformedItem)\n return acc\n },\n {} as Record<V, R[]>,\n )\n}\n","<script setup lang=\"ts\">\nimport { ScalarErrorBoundary } from '@scalar/components'\nimport { canMethodHaveBody } from '@scalar/helpers/http/can-method-have-body'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { REGEX } from '@scalar/helpers/regex/regex-helpers'\nimport type { ClientPlugin } from '@scalar/oas-utils/helpers'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { SelectedSecurity } from '@scalar/workspace-store/entities/auth'\nimport type {\n ApiReferenceEvents,\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'\nimport type {\n OpenApiDocument,\n OperationObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, useId, watch } from 'vue'\n\nimport SectionFilter from '@/components/SectionFilter.vue'\nimport ViewLayoutSection from '@/components/ViewLayout/ViewLayoutSection.vue'\nimport type { ClientLayout } from '@/hooks'\nimport { filterGlobalCookie } from '@/v2/blocks/operation-block/helpers/filter-global-cookies'\nimport { getExample } from '@/v2/blocks/operation-block/helpers/get-example'\nimport { getResolvedUrl } from '@/v2/blocks/operation-block/helpers/get-resolved-url'\nimport type { ClientOptionGroup } from '@/v2/blocks/operation-code-sample'\nimport RequestBody from '@/v2/blocks/request-block/components/RequestBody.vue'\nimport RequestCodeSnippet from '@/v2/blocks/request-block/components/RequestCodeSnippet.vue'\nimport RequestParams from '@/v2/blocks/request-block/components/RequestParams.vue'\nimport type { TableRow } from '@/v2/blocks/request-block/components/RequestTableRow.vue'\nimport { createParameterHandlers } from '@/v2/blocks/request-block/helpers/create-parameter-handlers'\nimport { getDefaultHeaders } from '@/v2/blocks/request-block/helpers/get-default-headers'\nimport { getParameterSchema } from '@/v2/blocks/request-block/helpers/get-parameter-schema'\nimport { groupBy } from '@/v2/blocks/request-block/helpers/group-by'\nimport { isParamDisabled } from '@/v2/blocks/request-block/helpers/is-param-disabled'\nimport {\n AuthSelector,\n type MergedSecuritySchemes,\n} from '@/v2/blocks/scalar-auth-selector-block'\nimport type { SecuritySchemeObjectSecret } from '@/v2/blocks/scalar-auth-selector-block/helpers/secret-types'\n\ntype Filter =\n | 'All'\n | 'Auth'\n | 'Variables'\n | 'Cookies'\n | 'Headers'\n | 'Query'\n | 'Body'\n\nexport type ExtendedScalarCookie = XScalarCookie & {\n location: 'document' | 'workspace'\n}\n\nconst {\n authMeta = { type: 'document' },\n clientOptions,\n environment,\n eventBus,\n exampleKey,\n globalCookies,\n layout,\n method,\n operation,\n path,\n plugins,\n proxyUrl,\n securityRequirements,\n securitySchemes,\n selectedClient,\n selectedSecurity,\n selectedSecuritySchemes,\n server,\n} = defineProps<{\n authMeta: AuthMeta\n clientOptions: ClientOptionGroup[]\n environment: XScalarEnvironment\n eventBus: WorkspaceEventBus\n exampleKey: string\n globalCookies: ExtendedScalarCookie[]\n layout: ClientLayout\n method: HttpMethod\n operation: OperationObject\n path: string\n plugins: ClientPlugin[]\n proxyUrl: string\n securityRequirements: OpenApiDocument['security']\n securitySchemes: MergedSecuritySchemes\n selectedClient: WorkspaceStore['workspace']['x-scalar-default-client']\n selectedSecurity: SelectedSecurity\n selectedSecuritySchemes: SecuritySchemeObjectSecret[]\n server: ServerObject | null\n}>()\n\n/** Operation metadata used across event emissions */\nconst meta = computed(() => ({\n method,\n path,\n exampleKey,\n}))\n\n/** Parameters grouped by type (path, query, header, cookie) */\nconst sections = computed(() =>\n groupBy(\n operation.parameters?.map((param) => getResolvedRef(param)) ?? [],\n 'in',\n (param) => {\n const example = getExample(param, exampleKey, undefined)\n\n return {\n name: param.name,\n value: example?.value ?? '',\n description: param.description,\n schema: getParameterSchema(param),\n isRequired: param.required,\n isDisabled: isParamDisabled(param, example),\n originalParameter: param,\n } as TableRow\n },\n ),\n)\n\n// Generate a reverse map for fast lookup of headers by the name\nconst headersMap = computed(() =>\n groupBy(\n sections.value.header?.map((it) => ({\n ...it,\n name: it.name.toLowerCase(),\n })) ?? [],\n 'name',\n ),\n)\n\nconst autoGeneratedHeaders = computed(() =>\n getDefaultHeaders({ method, operation, exampleKey }),\n)\n\nconst defaultHeaders = computed(() => {\n const disableParameters =\n operation['x-scalar-disable-parameters']?.['default-headers']?.[\n exampleKey\n ] ?? {}\n\n return autoGeneratedHeaders.value.map((it) => {\n const realHeader = headersMap.value[it.name.toLowerCase()]?.[0]\n\n return {\n name: it.name,\n value: it.defaultValue,\n schema: undefined,\n isOverridden: realHeader && !realHeader?.isDisabled,\n isReadonly: true,\n isDisabled: disableParameters[it.name.toLowerCase()] ?? false,\n } satisfies TableRow\n })\n})\n\nconst headers = computed(() => [\n ...defaultHeaders.value,\n ...(sections.value.header ?? []),\n])\n\nconst defaultCookies = computed(() => {\n const resolvedUrl = getResolvedUrl({\n environment,\n server,\n path,\n pathVariables: {},\n })\n\n const disabledGlobalCookies =\n operation['x-scalar-disable-parameters']?.['global-cookies']?.[\n exampleKey\n ] ?? {}\n\n return (\n globalCookies\n ?.filter((cookie) =>\n filterGlobalCookie({\n cookie,\n url: resolvedUrl,\n // Do not filter global cookies for the default cookies section (it's already filtered in the buildRequestCookieHeader function)\n // This is because we still want to show them on the UI\n disabledGlobalCookies: {},\n }),\n )\n .map((it) => ({\n name: it.name,\n value: it.value,\n globalRoute:\n it.location === 'document'\n ? ({ page: 'document', path: 'cookies' } as const)\n : ({ page: 'workspace', path: 'cookies' } as const),\n isReadonly: true,\n isDisabled: disabledGlobalCookies[it.name.toLowerCase()] ?? false,\n })) ?? ([] satisfies TableRow[])\n )\n})\n\nconst cookies = computed(() => [\n ...(defaultCookies.value ?? []),\n ...(sections.value.cookie ?? []),\n])\n\n/** Currently selected filter for the request sections */\nconst selectedFilter = ref<Filter>('All')\n\n/** Available operation sections */\nconst OPERATION_SECTIONS: readonly Filter[] = [\n 'Auth',\n 'Variables',\n 'Cookies',\n 'Headers',\n 'Query',\n 'Body',\n] as const\n\n/**\n * Pre-generated stable IDs for all possible filter sections.\n * These are created once at setup time to avoid regenerating IDs on re-render.\n */\nconst sectionIds: Record<Filter, string> = {\n All: useId(),\n Auth: useId(),\n Variables: useId(),\n Cookies: useId(),\n Headers: useId(),\n Query: useId(),\n Body: useId(),\n}\n\n/** Filters available based on operation state */\nconst filters = computed<Filter[]>(() => {\n const availableFilters = new Set<Filter>(['All', ...OPERATION_SECTIONS])\n\n if (!sections.value.path?.length) {\n availableFilters.delete('Variables')\n }\n if (!canMethodHaveBody(method)) {\n availableFilters.delete('Body')\n }\n if (isAuthHidden.value) {\n availableFilters.delete('Auth')\n }\n\n return [...availableFilters]\n})\n\n/**\n * Map available filters to their pre-generated stable IDs.\n * Only includes IDs for filters that are currently available.\n */\nconst filterIds = computed(\n () =>\n Object.fromEntries(\n filters.value.map((section) => [section, sectionIds[section]]),\n ) as Record<Filter, string>,\n)\n\n/**\n * Hide auth selector in readonly mode when no security schemes are defined.\n * This keeps the UI clean when there are no authentication options available.\n */\nconst isAuthHidden = computed(\n () => layout === 'modal' && !Object.keys(securitySchemes ?? {}).length,\n)\n\n/**\n * Keep auth available for unauthenticated operations, but collapse it by default\n * in readonly modal layouts unless a requirement or manual selection exists.\n */\nconst isAuthDefaultOpen = computed(\n () =>\n layout !== 'modal' ||\n Boolean(\n securityRequirements?.length || selectedSecurity.selectedSchemes.length,\n ),\n)\n\n/** Get a sensible placeholder for the request name input */\nconst requestNamePlaceholder = computed(() => {\n if (operation.summary) {\n return operation.summary\n }\n const cleanPath = path.replace(REGEX.PROTOCOL, '')\n return cleanPath || 'Request Name'\n})\n\n/** Check if the section should be shown based on the selected filter */\nconst isSectionVisible = (section: Filter): boolean => {\n return selectedFilter.value === 'All' || selectedFilter.value === section\n}\n\n/**\n * Reset filter to 'All' if Body filter is selected but method changes to one that cannot have a body.\n * This prevents showing an empty Body section when switching methods.\n */\nwatch(\n () => method,\n (newMethod) => {\n if (selectedFilter.value === 'Body' && !canMethodHaveBody(newMethod)) {\n selectedFilter.value = 'All'\n }\n },\n)\n\n/** Handle operation summary updates */\nconst handleSummaryUpdate = (event: Event): void => {\n const summary = (event.target as HTMLInputElement).value\n eventBus.emit('operation:update:meta', {\n meta: meta.value,\n payload: { summary: summary.trim() },\n })\n}\n\n/** Parameter handlers */\nconst parameterHandlers = computed(() => ({\n path: createParameterHandlers('path', eventBus, meta.value, {\n context: sections.value.path ?? [],\n }),\n cookie: createParameterHandlers('cookie', eventBus, meta.value, {\n context: cookies.value ?? [],\n globalParameters: defaultCookies.value.length,\n }),\n header: createParameterHandlers('header', eventBus, meta.value, {\n context: headers.value,\n defaultParameters: defaultHeaders.value.length,\n }),\n query: createParameterHandlers('query', eventBus, meta.value, {\n context: sections.value.query ?? [],\n }),\n}))\n\n/** Handle request body content type update */\nconst handleUpdateContentType = (payload: { value: string }): void =>\n eventBus.emit('operation:update:requestBody:contentType', {\n payload: { contentType: payload.value },\n meta: meta.value,\n })\n\n/** Handle request body value update */\nconst handleUpdateBodyValue = ({\n payload,\n contentType,\n}: Pick<\n ApiReferenceEvents['operation:update:requestBody:value'],\n 'payload' | 'contentType'\n>): void => {\n const debounceKey =\n typeof payload === 'string'\n ? `update:requestBody:value-${contentType}`\n : undefined\n\n eventBus.emit(\n 'operation:update:requestBody:value',\n {\n payload,\n contentType,\n meta: meta.value,\n },\n {\n debounceKey,\n },\n )\n}\n\n/** Handle request body value update */\nconst handleUpdateBodyFormValue = ({\n payload,\n contentType,\n}: Pick<\n ApiReferenceEvents['operation:update:requestBody:formValue'],\n 'payload' | 'contentType'\n>): void => {\n const debounceKey = `update:requestBody:${contentType}-form-value`\n\n eventBus.emit(\n 'operation:update:requestBody:formValue',\n {\n payload: payload.map((row) => unpackProxyObject(row, { depth: 1 })),\n contentType,\n meta: meta.value,\n },\n {\n debounceKey,\n },\n )\n}\n\nconst labelRequestNameId = useId()\n\n/** Allow updating the operation extensions for the plugins */\nconst updateOperationExtension = (\n payload: ApiReferenceEvents['operation:update:extension']['payload'],\n): void =>\n eventBus.emit('operation:update:extension', { payload, meta: meta.value })\n</script>\n<template>\n <ViewLayoutSection :aria-label=\"`Request: ${operation.summary}`\">\n <template #title>\n <div\n class=\"group pointer-events-none flex flex-1 items-center gap-1 lg:pr-24\">\n <label\n v-if=\"layout !== 'modal'\"\n class=\"pointer-events-auto absolute top-0 left-0 h-full w-full cursor-text opacity-0\"\n :for=\"labelRequestNameId\" />\n <input\n v-if=\"layout !== 'modal'\"\n :id=\"labelRequestNameId\"\n class=\"text-c-1 group-hover-input pointer-events-auto relative z-10 -ml-0.5 h-8 w-full rounded pl-1.25 has-[:focus-visible]:outline md:-ml-1.25\"\n :placeholder=\"requestNamePlaceholder\"\n :value=\"operation.summary\"\n @blur=\"handleSummaryUpdate\" />\n <span\n v-else\n class=\"text-c-1 flex h-8 items-center\">\n {{ operation.summary }}\n </span>\n </div>\n <SectionFilter\n v-model=\"selectedFilter\"\n :filterIds=\"filterIds\"\n :filters=\"filters\" />\n </template>\n\n <div\n :id=\"filterIds.All\"\n class=\"request-section-content custom-scroll relative flex flex-1 flex-col\"\n :role=\"selectedFilter === 'All' ? 'tabpanel' : 'none'\">\n <!-- Auth Selector -->\n <AuthSelector\n v-show=\"isSectionVisible('Auth') && !isAuthHidden\"\n :id=\"filterIds.Auth\"\n :createAnySecurityScheme=\"layout !== 'modal'\"\n :defaultOpen=\"isAuthDefaultOpen\"\n :environment\n :eventBus\n :meta=\"authMeta\"\n :proxyUrl\n :securityRequirements\n :securitySchemes\n :selectedSecurity\n :selectedSecuritySchemes\n :server\n title=\"Authentication\" />\n\n <!-- Variables (Path Parameters) -->\n <RequestParams\n v-show=\"isSectionVisible('Variables') && sections.path?.length\"\n :id=\"filterIds.Variables\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"sections.path ?? []\"\n :showAddRowPlaceholder=\"false\"\n title=\"Variables\"\n v-on=\"parameterHandlers.path\" />\n\n <!-- Cookies -->\n <RequestParams\n v-show=\"isSectionVisible('Cookies')\"\n :id=\"filterIds.Cookies\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"cookies ?? []\"\n :showAddRowPlaceholder=\"true\"\n title=\"Cookies\"\n v-on=\"parameterHandlers.cookie\" />\n\n <!-- Headers -->\n <RequestParams\n v-show=\"isSectionVisible('Headers')\"\n :id=\"filterIds.Headers\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"headers ?? []\"\n title=\"Headers\"\n v-on=\"parameterHandlers.header\" />\n\n <!-- Query Parameters -->\n <RequestParams\n v-show=\"isSectionVisible('Query')\"\n :id=\"filterIds.Query\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"sections.query ?? []\"\n title=\"Query Parameters\"\n v-on=\"parameterHandlers.query\" />\n\n <!-- Request Body -->\n <RequestBody\n v-show=\"isSectionVisible('Body') && canMethodHaveBody(method)\"\n :id=\"filterIds.Body\"\n :environment\n :exampleKey\n :requestBody=\"getResolvedRef(operation.requestBody)\"\n title=\"Request Body\"\n @update:contentType=\"handleUpdateContentType\"\n @update:formValue=\"handleUpdateBodyFormValue\"\n @update:value=\"handleUpdateBodyValue\" />\n\n <!-- Inject request section plugin components -->\n <ScalarErrorBoundary\n v-for=\"(plugin, index) in plugins\"\n :key=\"index\">\n <component\n :is=\"plugin.components.request.component\"\n v-if=\"plugin?.components?.request\"\n v-show=\"selectedFilter === 'All'\"\n :operation\n v-bind=\"plugin.components.request.additionalProps\"\n @operation:update:extension=\"updateOperationExtension\" />\n </ScalarErrorBoundary>\n\n <!-- Spacer -->\n <div class=\"flex grow\" />\n <!-- Code Snippet -->\n <RequestCodeSnippet\n v-show=\"selectedFilter === 'All'\"\n :clientOptions\n :eventBus\n :globalCookies=\"globalCookies\"\n integration=\"client\"\n :method\n :operation\n :path\n :securitySchemes=\"selectedSecuritySchemes\"\n :selectedClient\n :selectedContentType=\"\n getResolvedRef(operation.requestBody)?.[\n 'x-scalar-selected-content-type'\n ]?.[exampleKey]\n \"\n :selectedServer=\"server ?? undefined\" />\n </div>\n </ViewLayoutSection>\n</template>\n<style scoped>\n.request-section-content {\n --scalar-border-width: 0.5px;\n}\n.request-section-content-filter {\n box-shadow: 0 -10px 0 10px var(--scalar-background-1);\n}\n.request-item:focus-within .request-meta-buttons {\n opacity: 1;\n}\n.group-hover-input {\n border-width: var(--scalar-border-width);\n border-color: transparent;\n}\n.group:hover .group-hover-input {\n background: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n border-color: var(--scalar-border-color);\n}\n.group-hover-input:focus {\n background: transparent !important;\n border-color: var(--scalar-border-color) !important;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ScalarErrorBoundary } from '@scalar/components'\nimport { canMethodHaveBody } from '@scalar/helpers/http/can-method-have-body'\nimport type { HttpMethod } from '@scalar/helpers/http/http-methods'\nimport { REGEX } from '@scalar/helpers/regex/regex-helpers'\nimport type { ClientPlugin } from '@scalar/oas-utils/helpers'\nimport type { WorkspaceStore } from '@scalar/workspace-store/client'\nimport type { SelectedSecurity } from '@scalar/workspace-store/entities/auth'\nimport type {\n ApiReferenceEvents,\n AuthMeta,\n WorkspaceEventBus,\n} from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { XScalarCookie } from '@scalar/workspace-store/schemas/extensions/general/x-scalar-cookies'\nimport type {\n OpenApiDocument,\n OperationObject,\n ServerObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport { computed, ref, useId, watch } from 'vue'\n\nimport SectionFilter from '@/components/SectionFilter.vue'\nimport ViewLayoutSection from '@/components/ViewLayout/ViewLayoutSection.vue'\nimport type { ClientLayout } from '@/hooks'\nimport { filterGlobalCookie } from '@/v2/blocks/operation-block/helpers/filter-global-cookies'\nimport { getExample } from '@/v2/blocks/operation-block/helpers/get-example'\nimport { getResolvedUrl } from '@/v2/blocks/operation-block/helpers/get-resolved-url'\nimport type { ClientOptionGroup } from '@/v2/blocks/operation-code-sample'\nimport RequestBody from '@/v2/blocks/request-block/components/RequestBody.vue'\nimport RequestCodeSnippet from '@/v2/blocks/request-block/components/RequestCodeSnippet.vue'\nimport RequestParams from '@/v2/blocks/request-block/components/RequestParams.vue'\nimport type { TableRow } from '@/v2/blocks/request-block/components/RequestTableRow.vue'\nimport { createParameterHandlers } from '@/v2/blocks/request-block/helpers/create-parameter-handlers'\nimport { getDefaultHeaders } from '@/v2/blocks/request-block/helpers/get-default-headers'\nimport { getParameterSchema } from '@/v2/blocks/request-block/helpers/get-parameter-schema'\nimport { groupBy } from '@/v2/blocks/request-block/helpers/group-by'\nimport { isParamDisabled } from '@/v2/blocks/request-block/helpers/is-param-disabled'\nimport {\n AuthSelector,\n type MergedSecuritySchemes,\n} from '@/v2/blocks/scalar-auth-selector-block'\nimport type { SecuritySchemeObjectSecret } from '@/v2/blocks/scalar-auth-selector-block/helpers/secret-types'\n\ntype Filter =\n | 'All'\n | 'Auth'\n | 'Variables'\n | 'Cookies'\n | 'Headers'\n | 'Query'\n | 'Body'\n\nexport type ExtendedScalarCookie = XScalarCookie & {\n location: 'document' | 'workspace'\n}\n\nconst {\n authMeta = { type: 'document' },\n clientOptions,\n environment,\n eventBus,\n exampleKey,\n globalCookies,\n layout,\n method,\n operation,\n path,\n plugins,\n proxyUrl,\n securityRequirements,\n securitySchemes,\n selectedClient,\n selectedSecurity,\n selectedSecuritySchemes,\n server,\n} = defineProps<{\n authMeta: AuthMeta\n clientOptions: ClientOptionGroup[]\n environment: XScalarEnvironment\n eventBus: WorkspaceEventBus\n exampleKey: string\n globalCookies: ExtendedScalarCookie[]\n layout: ClientLayout\n method: HttpMethod\n operation: OperationObject\n path: string\n plugins: ClientPlugin[]\n proxyUrl: string\n securityRequirements: OpenApiDocument['security']\n securitySchemes: MergedSecuritySchemes\n selectedClient: WorkspaceStore['workspace']['x-scalar-default-client']\n selectedSecurity: SelectedSecurity\n selectedSecuritySchemes: SecuritySchemeObjectSecret[]\n server: ServerObject | null\n}>()\n\n/** Operation metadata used across event emissions */\nconst meta = computed(() => ({\n method,\n path,\n exampleKey,\n}))\n\n/** Parameters grouped by type (path, query, header, cookie) */\nconst sections = computed(() =>\n groupBy(\n operation.parameters?.map((param) => getResolvedRef(param)) ?? [],\n 'in',\n (param) => {\n const example = getExample(param, exampleKey, undefined)\n\n return {\n name: param.name,\n value: example?.value ?? '',\n description: param.description,\n schema: getParameterSchema(param),\n isRequired: param.required,\n isDisabled: isParamDisabled(param, example),\n originalParameter: param,\n } as TableRow\n },\n ),\n)\n\n// Generate a reverse map for fast lookup of headers by the name\nconst headersMap = computed(() =>\n groupBy(\n sections.value.header?.map((it) => ({\n ...it,\n name: it.name.toLowerCase(),\n })) ?? [],\n 'name',\n ),\n)\n\nconst autoGeneratedHeaders = computed(() =>\n getDefaultHeaders({ method, operation, exampleKey }),\n)\n\nconst defaultHeaders = computed(() => {\n const disableParameters =\n operation['x-scalar-disable-parameters']?.['default-headers']?.[\n exampleKey\n ] ?? {}\n\n return autoGeneratedHeaders.value.map((it) => {\n const realHeader = headersMap.value[it.name.toLowerCase()]?.[0]\n\n return {\n name: it.name,\n value: it.defaultValue,\n schema: undefined,\n isOverridden: realHeader && !realHeader?.isDisabled,\n isReadonly: true,\n isDisabled: disableParameters[it.name.toLowerCase()] ?? false,\n } satisfies TableRow\n })\n})\n\nconst headers = computed(() => [\n ...defaultHeaders.value,\n ...(sections.value.header ?? []),\n])\n\nconst defaultCookies = computed(() => {\n const resolvedUrl = getResolvedUrl({\n environment,\n server,\n path,\n pathVariables: {},\n })\n\n const disabledGlobalCookies =\n operation['x-scalar-disable-parameters']?.['global-cookies']?.[\n exampleKey\n ] ?? {}\n\n return (\n globalCookies\n ?.filter((cookie) =>\n filterGlobalCookie({\n cookie,\n url: resolvedUrl,\n // Do not filter global cookies for the default cookies section (it's already filtered in the buildRequestCookieHeader function)\n // This is because we still want to show them on the UI\n disabledGlobalCookies: {},\n }),\n )\n .map((it) => ({\n name: it.name,\n value: it.value,\n globalRoute:\n it.location === 'document'\n ? ({ page: 'document', path: 'cookies' } as const)\n : ({ page: 'workspace', path: 'cookies' } as const),\n isReadonly: true,\n isDisabled: disabledGlobalCookies[it.name.toLowerCase()] ?? false,\n })) ?? ([] satisfies TableRow[])\n )\n})\n\nconst cookies = computed(() => [\n ...(defaultCookies.value ?? []),\n ...(sections.value.cookie ?? []),\n])\n\n/** Currently selected filter for the request sections */\nconst selectedFilter = ref<Filter>('All')\n\n/** Available operation sections */\nconst OPERATION_SECTIONS: readonly Filter[] = [\n 'Auth',\n 'Variables',\n 'Cookies',\n 'Headers',\n 'Query',\n 'Body',\n] as const\n\n/**\n * Pre-generated stable IDs for all possible filter sections.\n * These are created once at setup time to avoid regenerating IDs on re-render.\n */\nconst sectionIds: Record<Filter, string> = {\n All: useId(),\n Auth: useId(),\n Variables: useId(),\n Cookies: useId(),\n Headers: useId(),\n Query: useId(),\n Body: useId(),\n}\n\n/** Filters available based on operation state */\nconst filters = computed<Filter[]>(() => {\n const availableFilters = new Set<Filter>(['All', ...OPERATION_SECTIONS])\n\n if (!sections.value.path?.length) {\n availableFilters.delete('Variables')\n }\n if (!canMethodHaveBody(method)) {\n availableFilters.delete('Body')\n }\n if (isAuthHidden.value) {\n availableFilters.delete('Auth')\n }\n\n return [...availableFilters]\n})\n\n/**\n * Map available filters to their pre-generated stable IDs.\n * Only includes IDs for filters that are currently available.\n */\nconst filterIds = computed(\n () =>\n Object.fromEntries(\n filters.value.map((section) => [section, sectionIds[section]]),\n ) as Record<Filter, string>,\n)\n\n/**\n * Hide auth selector in readonly mode when no security schemes are defined.\n * This keeps the UI clean when there are no authentication options available.\n */\nconst isAuthHidden = computed(\n () => layout === 'modal' && !Object.keys(securitySchemes ?? {}).length,\n)\n\n/**\n * Keep auth available for unauthenticated operations, but collapse it by default\n * in readonly modal layouts unless a requirement or manual selection exists.\n */\nconst isAuthDefaultOpen = computed(\n () =>\n layout !== 'modal' ||\n Boolean(\n securityRequirements?.length || selectedSecurity.selectedSchemes.length,\n ),\n)\n\n/** Get a sensible placeholder for the request name input */\nconst requestNamePlaceholder = computed(() => {\n if (operation.summary) {\n return operation.summary\n }\n const cleanPath = path.replace(REGEX.PROTOCOL, '')\n return cleanPath || 'Request Name'\n})\n\n/** Check if the section should be shown based on the selected filter */\nconst isSectionVisible = (section: Filter): boolean => {\n return selectedFilter.value === 'All' || selectedFilter.value === section\n}\n\n/**\n * Reset filter to 'All' if Body filter is selected but method changes to one that cannot have a body.\n * This prevents showing an empty Body section when switching methods.\n */\nwatch(\n () => method,\n (newMethod) => {\n if (selectedFilter.value === 'Body' && !canMethodHaveBody(newMethod)) {\n selectedFilter.value = 'All'\n }\n },\n)\n\n/** Handle operation summary updates */\nconst handleSummaryUpdate = (event: Event): void => {\n const summary = (event.target as HTMLInputElement).value\n eventBus.emit('operation:update:meta', {\n meta: meta.value,\n payload: { summary: summary.trim() },\n })\n}\n\n/** Parameter handlers */\nconst parameterHandlers = computed(() => ({\n path: createParameterHandlers('path', eventBus, meta.value, {\n context: sections.value.path ?? [],\n }),\n cookie: createParameterHandlers('cookie', eventBus, meta.value, {\n context: cookies.value ?? [],\n globalParameters: defaultCookies.value.length,\n }),\n header: createParameterHandlers('header', eventBus, meta.value, {\n context: headers.value,\n defaultParameters: defaultHeaders.value.length,\n }),\n query: createParameterHandlers('query', eventBus, meta.value, {\n context: sections.value.query ?? [],\n }),\n}))\n\n/** Handle request body content type update */\nconst handleUpdateContentType = (payload: { value: string }): void =>\n eventBus.emit('operation:update:requestBody:contentType', {\n payload: { contentType: payload.value },\n meta: meta.value,\n })\n\n/** Handle request body value update */\nconst handleUpdateBodyValue = ({\n payload,\n contentType,\n}: Pick<\n ApiReferenceEvents['operation:update:requestBody:value'],\n 'payload' | 'contentType'\n>): void => {\n const debounceKey =\n typeof payload === 'string'\n ? `update:requestBody:value-${contentType}`\n : undefined\n\n eventBus.emit(\n 'operation:update:requestBody:value',\n {\n payload,\n contentType,\n meta: meta.value,\n },\n {\n debounceKey,\n },\n )\n}\n\n/** Handle request body value update */\nconst handleUpdateBodyFormValue = ({\n payload,\n contentType,\n}: Pick<\n ApiReferenceEvents['operation:update:requestBody:formValue'],\n 'payload' | 'contentType'\n>): void => {\n const debounceKey = `update:requestBody:${contentType}-form-value`\n\n eventBus.emit(\n 'operation:update:requestBody:formValue',\n {\n payload: payload.map((row) => unpackProxyObject(row, { depth: 1 })),\n contentType,\n meta: meta.value,\n },\n {\n debounceKey,\n },\n )\n}\n\nconst labelRequestNameId = useId()\n\n/** Allow updating the operation extensions for the plugins */\nconst updateOperationExtension = (\n payload: ApiReferenceEvents['operation:update:extension']['payload'],\n): void =>\n eventBus.emit('operation:update:extension', { payload, meta: meta.value })\n</script>\n<template>\n <ViewLayoutSection :aria-label=\"`Request: ${operation.summary}`\">\n <template #title>\n <div\n class=\"group pointer-events-none flex flex-1 items-center gap-1 lg:pr-24\">\n <label\n v-if=\"layout !== 'modal'\"\n class=\"pointer-events-auto absolute top-0 left-0 h-full w-full cursor-text opacity-0\"\n :for=\"labelRequestNameId\" />\n <input\n v-if=\"layout !== 'modal'\"\n :id=\"labelRequestNameId\"\n class=\"text-c-1 group-hover-input pointer-events-auto relative z-10 -ml-0.5 h-8 w-full rounded pl-1.25 has-[:focus-visible]:outline md:-ml-1.25\"\n :placeholder=\"requestNamePlaceholder\"\n :value=\"operation.summary\"\n @blur=\"handleSummaryUpdate\" />\n <span\n v-else\n class=\"text-c-1 flex h-8 items-center\">\n {{ operation.summary }}\n </span>\n </div>\n <SectionFilter\n v-model=\"selectedFilter\"\n :filterIds=\"filterIds\"\n :filters=\"filters\" />\n </template>\n\n <div\n :id=\"filterIds.All\"\n class=\"request-section-content custom-scroll relative flex flex-1 flex-col\"\n :role=\"selectedFilter === 'All' ? 'tabpanel' : 'none'\">\n <!-- Auth Selector -->\n <AuthSelector\n v-show=\"isSectionVisible('Auth') && !isAuthHidden\"\n :id=\"filterIds.Auth\"\n :createAnySecurityScheme=\"layout !== 'modal'\"\n :defaultOpen=\"isAuthDefaultOpen\"\n :environment\n :eventBus\n :meta=\"authMeta\"\n :proxyUrl\n :securityRequirements\n :securitySchemes\n :selectedSecurity\n :selectedSecuritySchemes\n :server\n title=\"Authentication\" />\n\n <!-- Variables (Path Parameters) -->\n <RequestParams\n v-show=\"isSectionVisible('Variables') && sections.path?.length\"\n :id=\"filterIds.Variables\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"sections.path ?? []\"\n :showAddRowPlaceholder=\"false\"\n title=\"Variables\"\n v-on=\"parameterHandlers.path\" />\n\n <!-- Cookies -->\n <RequestParams\n v-show=\"isSectionVisible('Cookies')\"\n :id=\"filterIds.Cookies\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"cookies ?? []\"\n :showAddRowPlaceholder=\"true\"\n title=\"Cookies\"\n v-on=\"parameterHandlers.cookie\" />\n\n <!-- Headers -->\n <RequestParams\n v-show=\"isSectionVisible('Headers')\"\n :id=\"filterIds.Headers\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"headers ?? []\"\n title=\"Headers\"\n v-on=\"parameterHandlers.header\" />\n\n <!-- Query Parameters -->\n <RequestParams\n v-show=\"isSectionVisible('Query')\"\n :id=\"filterIds.Query\"\n :environment\n :eventBus\n :exampleKey\n :rows=\"sections.query ?? []\"\n title=\"Query Parameters\"\n v-on=\"parameterHandlers.query\" />\n\n <!-- Request Body -->\n <RequestBody\n v-show=\"isSectionVisible('Body') && canMethodHaveBody(method)\"\n :id=\"filterIds.Body\"\n :environment\n :exampleKey\n :requestBody=\"getResolvedRef(operation.requestBody)\"\n title=\"Request Body\"\n @update:contentType=\"handleUpdateContentType\"\n @update:formValue=\"handleUpdateBodyFormValue\"\n @update:value=\"handleUpdateBodyValue\" />\n\n <!-- Inject request section plugin components -->\n <ScalarErrorBoundary\n v-for=\"(plugin, index) in plugins\"\n :key=\"index\">\n <component\n :is=\"plugin.components.request.component\"\n v-if=\"plugin?.components?.request\"\n v-show=\"selectedFilter === 'All'\"\n :operation\n v-bind=\"plugin.components.request.additionalProps\"\n @operation:update:extension=\"updateOperationExtension\" />\n </ScalarErrorBoundary>\n\n <!-- Spacer -->\n <div class=\"flex grow\" />\n <!-- Code Snippet -->\n <RequestCodeSnippet\n v-show=\"selectedFilter === 'All'\"\n :clientOptions\n :eventBus\n :globalCookies=\"globalCookies\"\n integration=\"client\"\n :method\n :operation\n :path\n :securitySchemes=\"selectedSecuritySchemes\"\n :selectedClient\n :selectedContentType=\"\n getResolvedRef(operation.requestBody)?.[\n 'x-scalar-selected-content-type'\n ]?.[exampleKey]\n \"\n :selectedServer=\"server ?? undefined\" />\n </div>\n </ViewLayoutSection>\n</template>\n<style scoped>\n.request-section-content {\n --scalar-border-width: 0.5px;\n}\n.request-section-content-filter {\n box-shadow: 0 -10px 0 10px var(--scalar-background-1);\n}\n.request-item:focus-within .request-meta-buttons {\n opacity: 1;\n}\n.group-hover-input {\n border-width: var(--scalar-border-width);\n border-color: transparent;\n}\n.group:hover .group-hover-input {\n background: color-mix(\n in srgb,\n var(--scalar-background-1),\n var(--scalar-background-2)\n );\n border-color: var(--scalar-border-color);\n}\n.group-hover-input:focus {\n background: transparent !important;\n border-color: var(--scalar-border-color) !important;\n}\n</style>\n"],"mappings":"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"}
@@ -1,114 +0,0 @@
1
- import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper-BmmBcIzD.js";
2
- import { createElementBlock, createElementVNode, defineComponent, normalizeStyle, openBlock, ref, renderSlot } from "vue";
3
- //#region src/v2/components/resize/Resize.vue?vue&type=script&setup=true&lang.ts
4
- var draggingClassName = "scalar-dragging";
5
- //#endregion
6
- //#region src/v2/components/resize/Resize.vue
7
- var Resize_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
8
- __name: "Resize",
9
- props: { width: {} },
10
- emits: ["update:width"],
11
- setup(__props, { emit: __emit }) {
12
- const emit = __emit;
13
- const isDragging = ref(false);
14
- const startDrag = (event) => {
15
- event.preventDefault();
16
- const startX = event.clientX;
17
- /** Current sidebar width when dragging starts */
18
- const startWidth = __props.width;
19
- const doDrag = (dragEvent) => {
20
- isDragging.value = true;
21
- document.body.classList.add(draggingClassName);
22
- let newWidth = startWidth + dragEvent.clientX - startX;
23
- if (newWidth > 420)
24
- /** Elastic effect */
25
- newWidth = 420 + (newWidth - 420) * .2;
26
- if (newWidth < 240) newWidth = 240;
27
- emit("update:width", newWidth);
28
- };
29
- const stopDrag = () => {
30
- isDragging.value = false;
31
- document.body.classList.remove(draggingClassName);
32
- document.documentElement.removeEventListener("mousemove", doDrag, false);
33
- document.documentElement.removeEventListener("mouseup", stopDrag, false);
34
- /** Reset to max width if exceeded */
35
- if (__props.width > 420) emit("update:width", 360);
36
- else if (__props.width < 240) emit("update:width", 240);
37
- };
38
- document.documentElement.addEventListener("mousemove", doDrag, false);
39
- document.documentElement.addEventListener("mouseup", stopDrag, false);
40
- };
41
- return (_ctx, _cache) => {
42
- return openBlock(), createElementBlock("div", {
43
- class: "relative",
44
- style: normalizeStyle({ width: `${__props.width}px` })
45
- }, [renderSlot(_ctx.$slots, "default", {}, void 0, true), createElementVNode("div", {
46
- class: "resizer",
47
- onMousedown: startDrag
48
- }, null, 32)], 4);
49
- };
50
- }
51
- }), [["__scopeId", "data-v-e2c54c18"]]);
52
- //#endregion
53
- //#region src/v2/components/resize/use-split-resize.ts
54
- var clamp = (value, min, max) => Math.min(max, Math.max(min, value));
55
- /**
56
- * Shared pointer-based resize logic for split layouts with percentage sizes.
57
- * Use when you have both a horizontal split (e.g. left/right) and a vertical split (e.g. top/bottom).
58
- * Only one resize is active at a time; starting another stops the previous.
59
- */
60
- function useSplitResize(options) {
61
- const { horizontalContainerRef, verticalContainerRef, leftPaneSize, topPaneSize, horizontalMin = 20, horizontalMax = 80, verticalMin = 25, verticalMax = 75 } = options;
62
- let activeResizeCleanup;
63
- const stopActiveResize = () => {
64
- activeResizeCleanup?.();
65
- activeResizeCleanup = void 0;
66
- };
67
- const startResize = (event, onMove, cursor) => {
68
- event.preventDefault();
69
- stopActiveResize();
70
- const previousUserSelect = document.body.style.userSelect;
71
- const previousCursor = document.body.style.cursor;
72
- document.body.style.userSelect = "none";
73
- document.body.style.cursor = cursor;
74
- const handleMove = (moveEvent) => {
75
- onMove(moveEvent);
76
- };
77
- const handleUp = () => {
78
- stopActiveResize();
79
- };
80
- window.addEventListener("pointermove", handleMove);
81
- window.addEventListener("pointerup", handleUp, { once: true });
82
- activeResizeCleanup = () => {
83
- window.removeEventListener("pointermove", handleMove);
84
- window.removeEventListener("pointerup", handleUp);
85
- document.body.style.userSelect = previousUserSelect;
86
- document.body.style.cursor = previousCursor;
87
- };
88
- };
89
- const onHorizontalResizeStart = (event) => {
90
- const el = horizontalContainerRef.value;
91
- if (!el) return;
92
- startResize(event, (moveEvent) => {
93
- const rect = el.getBoundingClientRect();
94
- leftPaneSize.value = clamp((moveEvent.clientX - rect.left) / rect.width * 100, horizontalMin, horizontalMax);
95
- }, "col-resize");
96
- };
97
- const onVerticalResizeStart = (event) => {
98
- const el = verticalContainerRef.value;
99
- if (!el) return;
100
- startResize(event, (moveEvent) => {
101
- const rect = el.getBoundingClientRect();
102
- topPaneSize.value = clamp((moveEvent.clientY - rect.top) / rect.height * 100, verticalMin, verticalMax);
103
- }, "row-resize");
104
- };
105
- return {
106
- onHorizontalResizeStart,
107
- onVerticalResizeStart,
108
- stopActiveResize
109
- };
110
- }
111
- //#endregion
112
- export { Resize_default as n, useSplitResize as t };
113
-
114
- //# sourceMappingURL=resize-D2IYvVdh.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resize-D2IYvVdh.js","names":[],"sources":["../src/v2/components/resize/Resize.vue","../src/v2/components/resize/Resize.vue","../src/v2/components/resize/use-split-resize.ts"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref } from 'vue'\n\nconst { width } = defineProps<{\n /** Provided resizable child width */\n width: number\n}>()\n\nconst emit = defineEmits<{\n (e: 'update:width', value: number): void\n}>()\n\ndefineSlots<{\n default?(): unknown\n}>()\n\nconst isDragging = ref(false)\n\nconst draggingClassName = 'scalar-dragging'\n\nconst startDrag = (event: MouseEvent) => {\n event.preventDefault()\n\n const startX = event.clientX\n\n /** Current sidebar width when dragging starts */\n const startWidth = width\n\n const doDrag = (dragEvent: MouseEvent) => {\n isDragging.value = true\n document.body.classList.add(draggingClassName)\n let newWidth = startWidth + dragEvent.clientX - startX\n if (newWidth > 420) {\n /** Elastic effect */\n newWidth = 420 + (newWidth - 420) * 0.2\n }\n if (newWidth < 240) {\n newWidth = 240\n }\n emit('update:width', newWidth)\n }\n\n const stopDrag = () => {\n isDragging.value = false\n document.body.classList.remove(draggingClassName)\n document.documentElement.removeEventListener('mousemove', doDrag, false)\n document.documentElement.removeEventListener('mouseup', stopDrag, false)\n /** Reset to max width if exceeded */\n if (width > 420) {\n emit('update:width', 360)\n } else if (width < 240) {\n emit('update:width', 240)\n }\n }\n\n document.documentElement.addEventListener('mousemove', doDrag, false)\n document.documentElement.addEventListener('mouseup', stopDrag, false)\n}\n</script>\n<template>\n <div\n class=\"relative\"\n :style=\"{\n width: `${width}px`,\n }\">\n <slot name=\"default\" />\n <div\n class=\"resizer\"\n @mousedown=\"startDrag\" />\n </div>\n</template>\n<style scoped>\n.resizer {\n width: 5px;\n cursor: col-resize;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n border-right: 2px solid transparent;\n transition: border-right-color 0.3s;\n z-index: 100;\n}\n</style>\n<style>\n.scalar-dragging {\n cursor: col-resize;\n}\n\n.resizer:hover,\n.scalar-dragging .resizer {\n border-right-color: var(--scalar-background-3);\n}\n\n.scalar-dragging::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n</style>\n","<script lang=\"ts\" setup>\nimport { ref } from 'vue'\n\nconst { width } = defineProps<{\n /** Provided resizable child width */\n width: number\n}>()\n\nconst emit = defineEmits<{\n (e: 'update:width', value: number): void\n}>()\n\ndefineSlots<{\n default?(): unknown\n}>()\n\nconst isDragging = ref(false)\n\nconst draggingClassName = 'scalar-dragging'\n\nconst startDrag = (event: MouseEvent) => {\n event.preventDefault()\n\n const startX = event.clientX\n\n /** Current sidebar width when dragging starts */\n const startWidth = width\n\n const doDrag = (dragEvent: MouseEvent) => {\n isDragging.value = true\n document.body.classList.add(draggingClassName)\n let newWidth = startWidth + dragEvent.clientX - startX\n if (newWidth > 420) {\n /** Elastic effect */\n newWidth = 420 + (newWidth - 420) * 0.2\n }\n if (newWidth < 240) {\n newWidth = 240\n }\n emit('update:width', newWidth)\n }\n\n const stopDrag = () => {\n isDragging.value = false\n document.body.classList.remove(draggingClassName)\n document.documentElement.removeEventListener('mousemove', doDrag, false)\n document.documentElement.removeEventListener('mouseup', stopDrag, false)\n /** Reset to max width if exceeded */\n if (width > 420) {\n emit('update:width', 360)\n } else if (width < 240) {\n emit('update:width', 240)\n }\n }\n\n document.documentElement.addEventListener('mousemove', doDrag, false)\n document.documentElement.addEventListener('mouseup', stopDrag, false)\n}\n</script>\n<template>\n <div\n class=\"relative\"\n :style=\"{\n width: `${width}px`,\n }\">\n <slot name=\"default\" />\n <div\n class=\"resizer\"\n @mousedown=\"startDrag\" />\n </div>\n</template>\n<style scoped>\n.resizer {\n width: 5px;\n cursor: col-resize;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n border-right: 2px solid transparent;\n transition: border-right-color 0.3s;\n z-index: 100;\n}\n</style>\n<style>\n.scalar-dragging {\n cursor: col-resize;\n}\n\n.resizer:hover,\n.scalar-dragging .resizer {\n border-right-color: var(--scalar-background-3);\n}\n\n.scalar-dragging::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n}\n</style>\n","import type { Ref } from 'vue'\n\nconst clamp = (value: number, min: number, max: number): number => Math.min(max, Math.max(min, value))\n\ntype UseSplitResizeOptions = {\n /** Ref to the container used for horizontal resize (width + clientX). */\n horizontalContainerRef: Ref<HTMLElement | undefined>\n /** Ref to the container used for vertical resize (height + clientY). */\n verticalContainerRef: Ref<HTMLElement | undefined>\n /** Ref for the left (or first) pane width in percent (0–100). */\n leftPaneSize: Ref<number>\n /** Ref for the top pane height in percent (0–100). */\n topPaneSize: Ref<number>\n horizontalMin?: number\n horizontalMax?: number\n verticalMin?: number\n verticalMax?: number\n}\n\n/**\n * Shared pointer-based resize logic for split layouts with percentage sizes.\n * Use when you have both a horizontal split (e.g. left/right) and a vertical split (e.g. top/bottom).\n * Only one resize is active at a time; starting another stops the previous.\n */\nexport function useSplitResize(options: UseSplitResizeOptions): {\n onHorizontalResizeStart: (event: PointerEvent) => void\n onVerticalResizeStart: (event: PointerEvent) => void\n stopActiveResize: () => void\n} {\n const {\n horizontalContainerRef,\n verticalContainerRef,\n leftPaneSize,\n topPaneSize,\n horizontalMin = 20,\n horizontalMax = 80,\n verticalMin = 25,\n verticalMax = 75,\n } = options\n\n let activeResizeCleanup: (() => void) | undefined\n\n const stopActiveResize = (): void => {\n activeResizeCleanup?.()\n activeResizeCleanup = undefined\n }\n\n const startResize = (event: PointerEvent, onMove: (event: PointerEvent) => void, cursor: string): void => {\n event.preventDefault()\n stopActiveResize()\n\n const previousUserSelect = document.body.style.userSelect\n const previousCursor = document.body.style.cursor\n document.body.style.userSelect = 'none'\n document.body.style.cursor = cursor\n\n const handleMove = (moveEvent: PointerEvent): void => {\n onMove(moveEvent)\n }\n\n const handleUp = (): void => {\n stopActiveResize()\n }\n\n window.addEventListener('pointermove', handleMove)\n window.addEventListener('pointerup', handleUp, { once: true })\n\n activeResizeCleanup = () => {\n window.removeEventListener('pointermove', handleMove)\n window.removeEventListener('pointerup', handleUp)\n document.body.style.userSelect = previousUserSelect\n document.body.style.cursor = previousCursor\n }\n }\n\n const onHorizontalResizeStart = (event: PointerEvent): void => {\n const el = horizontalContainerRef.value\n if (!el) {\n return\n }\n startResize(\n event,\n (moveEvent) => {\n const rect = el.getBoundingClientRect()\n const ratio = ((moveEvent.clientX - rect.left) / rect.width) * 100\n leftPaneSize.value = clamp(ratio, horizontalMin, horizontalMax)\n },\n 'col-resize',\n )\n }\n\n const onVerticalResizeStart = (event: PointerEvent): void => {\n const el = verticalContainerRef.value\n if (!el) {\n return\n }\n startResize(\n event,\n (moveEvent) => {\n const rect = el.getBoundingClientRect()\n const ratio = ((moveEvent.clientY - rect.top) / rect.height) * 100\n topPaneSize.value = clamp(ratio, verticalMin, verticalMax)\n },\n 'row-resize',\n )\n }\n\n return {\n onHorizontalResizeStart,\n onVerticalResizeStart,\n stopActiveResize,\n }\n}\n"],"mappings":";;;ACkBA,IAAM,oBAAoB;;;;;;;;EAV1B,MAAM,OAAO;EAQb,MAAM,aAAa,IAAI,MAAK;EAI5B,MAAM,aAAa,UAAsB;AACvC,SAAM,gBAAe;GAErB,MAAM,SAAS,MAAM;;GAGrB,MAAM,aAAa,QAAA;GAEnB,MAAM,UAAU,cAA0B;AACxC,eAAW,QAAQ;AACnB,aAAS,KAAK,UAAU,IAAI,kBAAiB;IAC7C,IAAI,WAAW,aAAa,UAAU,UAAU;AAChD,QAAI,WAAW;;AAEb,eAAW,OAAO,WAAW,OAAO;AAEtC,QAAI,WAAW,IACb,YAAW;AAEb,SAAK,gBAAgB,SAAQ;;GAG/B,MAAM,iBAAiB;AACrB,eAAW,QAAQ;AACnB,aAAS,KAAK,UAAU,OAAO,kBAAiB;AAChD,aAAS,gBAAgB,oBAAoB,aAAa,QAAQ,MAAK;AACvE,aAAS,gBAAgB,oBAAoB,WAAW,UAAU,MAAK;;AAEvE,QAAI,QAAA,QAAQ,IACV,MAAK,gBAAgB,IAAG;aACf,QAAA,QAAQ,IACjB,MAAK,gBAAgB,IAAG;;AAI5B,YAAS,gBAAgB,iBAAiB,aAAa,QAAQ,MAAK;AACpE,YAAS,gBAAgB,iBAAiB,WAAW,UAAU,MAAK;;;uBAIpE,mBASM,OAAA;IARJ,OAAM;IACL,OAAK,eAAA,EAAA,OAAA,GAAoB,QAAA,MAAK,KAAA,CAAA;OAG/B,WAAuB,KAAA,QAAA,WAAA,EAAA,EAAA,KAAA,GAAA,KAAA,EACvB,mBAE2B,OAAA;IADzB,OAAM;IACL,aAAW;;;;;;;AClElB,IAAM,SAAS,OAAe,KAAa,QAAwB,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,MAAM,CAAC;;;;;;AAsBtG,SAAgB,eAAe,SAI7B;CACA,MAAM,EACJ,wBACA,sBACA,cACA,aACA,gBAAgB,IAChB,gBAAgB,IAChB,cAAc,IACd,cAAc,OACZ;CAEJ,IAAI;CAEJ,MAAM,yBAA+B;AACnC,yBAAuB;AACvB,wBAAsB,KAAA;;CAGxB,MAAM,eAAe,OAAqB,QAAuC,WAAyB;AACxG,QAAM,gBAAgB;AACtB,oBAAkB;EAElB,MAAM,qBAAqB,SAAS,KAAK,MAAM;EAC/C,MAAM,iBAAiB,SAAS,KAAK,MAAM;AAC3C,WAAS,KAAK,MAAM,aAAa;AACjC,WAAS,KAAK,MAAM,SAAS;EAE7B,MAAM,cAAc,cAAkC;AACpD,UAAO,UAAU;;EAGnB,MAAM,iBAAuB;AAC3B,qBAAkB;;AAGpB,SAAO,iBAAiB,eAAe,WAAW;AAClD,SAAO,iBAAiB,aAAa,UAAU,EAAE,MAAM,MAAM,CAAC;AAE9D,8BAA4B;AAC1B,UAAO,oBAAoB,eAAe,WAAW;AACrD,UAAO,oBAAoB,aAAa,SAAS;AACjD,YAAS,KAAK,MAAM,aAAa;AACjC,YAAS,KAAK,MAAM,SAAS;;;CAIjC,MAAM,2BAA2B,UAA8B;EAC7D,MAAM,KAAK,uBAAuB;AAClC,MAAI,CAAC,GACH;AAEF,cACE,QACC,cAAc;GACb,MAAM,OAAO,GAAG,uBAAuB;AAEvC,gBAAa,QAAQ,OADL,UAAU,UAAU,KAAK,QAAQ,KAAK,QAAS,KAC7B,eAAe,cAAc;KAEjE,aACD;;CAGH,MAAM,yBAAyB,UAA8B;EAC3D,MAAM,KAAK,qBAAqB;AAChC,MAAI,CAAC,GACH;AAEF,cACE,QACC,cAAc;GACb,MAAM,OAAO,GAAG,uBAAuB;AAEvC,eAAY,QAAQ,OADJ,UAAU,UAAU,KAAK,OAAO,KAAK,SAAU,KAC9B,aAAa,YAAY;KAE5D,aACD;;AAGH,QAAO;EACL;EACA;EACA;EACD"}