@scalar/agent-chat 0.12.45 → 0.12.48

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 (188) hide show
  1. package/dist/App.vue.d.ts +1 -1
  2. package/dist/App.vue.d.ts.map +1 -1
  3. package/dist/App.vue.js +1 -1
  4. package/dist/App.vue.js.map +1 -1
  5. package/dist/{App.vue.script.js → App.vue_vue_type_script_setup_true_lang.js} +1 -1
  6. package/dist/App.vue_vue_type_script_setup_true_lang.js.map +1 -0
  7. package/dist/Chat.vue.js +1 -1
  8. package/dist/Chat.vue.js.map +1 -1
  9. package/dist/{Chat.vue.script.js → Chat.vue_vue_type_script_setup_true_lang.js} +1 -1
  10. package/dist/Chat.vue_vue_type_script_setup_true_lang.js.map +1 -0
  11. package/dist/client-tools/execute-request.js +3 -2
  12. package/dist/client-tools/execute-request.js.map +1 -1
  13. package/dist/components/ActionsDropdown.vue.js +2 -2
  14. package/dist/components/ActionsDropdown.vue.js.map +1 -1
  15. package/dist/components/{ActionsDropdown.vue.script.js → ActionsDropdown.vue_vue_type_script_setup_true_lang.js} +1 -1
  16. package/dist/components/ActionsDropdown.vue_vue_type_script_setup_true_lang.js.map +1 -0
  17. package/dist/components/ApprovalSection.vue.js +2 -2
  18. package/dist/components/ApprovalSection.vue.js.map +1 -1
  19. package/dist/components/{ApprovalSection.vue.script.js → ApprovalSection.vue_vue_type_script_setup_true_lang.js} +1 -1
  20. package/dist/components/ApprovalSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
  21. package/dist/components/AuthenticationProvided.vue.js +1 -1
  22. package/dist/components/AuthenticationProvided.vue.js.map +1 -1
  23. package/dist/components/AuthenticationRequired.vue.js +1 -1
  24. package/dist/components/AuthenticationRequired.vue.js.map +1 -1
  25. package/dist/components/AutosendPaused.vue.js +1 -1
  26. package/dist/components/AutosendPaused.vue.js.map +1 -1
  27. package/dist/components/BuildingRequest.vue.js +1 -1
  28. package/dist/components/BuildingRequest.vue.js.map +1 -1
  29. package/dist/components/ContextItem.vue.js +2 -2
  30. package/dist/components/ContextItem.vue.js.map +1 -1
  31. package/dist/components/{ContextItem.vue.script.js → ContextItem.vue_vue_type_script_setup_true_lang.js} +1 -1
  32. package/dist/components/ContextItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
  33. package/dist/components/ErrorMessage.vue.js +2 -2
  34. package/dist/components/ErrorMessage.vue.js.map +1 -1
  35. package/dist/components/{ErrorMessage.vue.script.js → ErrorMessage.vue_vue_type_script_setup_true_lang.js} +1 -1
  36. package/dist/components/ErrorMessage.vue_vue_type_script_setup_true_lang.js.map +1 -0
  37. package/dist/components/FreeMessagesInfoSection.vue.js +2 -2
  38. package/dist/components/FreeMessagesInfoSection.vue.js.map +1 -1
  39. package/dist/components/{FreeMessagesInfoSection.vue.script.js → FreeMessagesInfoSection.vue_vue_type_script_setup_true_lang.js} +1 -1
  40. package/dist/components/FreeMessagesInfoSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
  41. package/dist/components/LoadingOpenAPISpecsSummary.vue.js +1 -1
  42. package/dist/components/LoadingOpenAPISpecsSummary.vue.js.map +1 -1
  43. package/dist/components/LoadingSearchOpenAPIOperations.vue.js +1 -1
  44. package/dist/components/LoadingSearchOpenAPIOperations.vue.js.map +1 -1
  45. package/dist/components/Logo.vue.js.map +1 -1
  46. package/dist/components/PaymentSection.vue.js +2 -2
  47. package/dist/components/PaymentSection.vue.js.map +1 -1
  48. package/dist/components/{PaymentSection.vue.script.js → PaymentSection.vue_vue_type_script_setup_true_lang.js} +1 -1
  49. package/dist/components/PaymentSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
  50. package/dist/components/RequestApproved.vue.js +1 -1
  51. package/dist/components/RequestApproved.vue.js.map +1 -1
  52. package/dist/components/RequestFailed.vue.js +1 -1
  53. package/dist/components/RequestFailed.vue.js.map +1 -1
  54. package/dist/components/RequestPreview.vue.js +2 -2
  55. package/dist/components/RequestPreview.vue.js.map +1 -1
  56. package/dist/components/{RequestPreview.vue.script.js → RequestPreview.vue_vue_type_script_setup_true_lang.js} +1 -1
  57. package/dist/components/RequestPreview.vue_vue_type_script_setup_true_lang.js.map +1 -0
  58. package/dist/components/RequestRejected.vue.js +1 -1
  59. package/dist/components/RequestRejected.vue.js.map +1 -1
  60. package/dist/components/RequestSuccess.vue.js +1 -1
  61. package/dist/components/RequestSuccess.vue.js.map +1 -1
  62. package/dist/components/ResponseBody/ResponseBody.vue.d.ts +2 -2
  63. package/dist/components/ResponseBody/ResponseBody.vue.js +1 -1
  64. package/dist/components/ResponseBody/ResponseBody.vue.js.map +1 -1
  65. package/dist/components/ResponseBody/{ResponseBody.vue.script.js → ResponseBody.vue_vue_type_script_setup_true_lang.js} +1 -1
  66. package/dist/components/ResponseBody/ResponseBody.vue_vue_type_script_setup_true_lang.js.map +1 -0
  67. package/dist/components/ResponseBody/ResponseBodyInfo.vue.js.map +1 -1
  68. package/dist/components/ResponseBody/ResponseBodyPreview.vue.d.ts +1 -1
  69. package/dist/components/ResponseBody/ResponseBodyPreview.vue.js +2 -2
  70. package/dist/components/ResponseBody/ResponseBodyPreview.vue.js.map +1 -1
  71. package/dist/components/ResponseBody/{ResponseBodyPreview.vue.script.js → ResponseBodyPreview.vue_vue_type_script_setup_true_lang.js} +1 -1
  72. package/dist/components/ResponseBody/ResponseBodyPreview.vue_vue_type_script_setup_true_lang.js.map +1 -0
  73. package/dist/components/ResponseBody/ResponseBodyRaw.vue.js +1 -1
  74. package/dist/components/ResponseBody/ResponseBodyRaw.vue.js.map +1 -1
  75. package/dist/components/ResponseBody/{ResponseBodyRaw.vue.script.js → ResponseBodyRaw.vue_vue_type_script_setup_true_lang.js} +1 -1
  76. package/dist/components/ResponseBody/ResponseBodyRaw.vue_vue_type_script_setup_true_lang.js.map +1 -0
  77. package/dist/components/ResponseBody/ResponseBodyToggle.vue.js +1 -1
  78. package/dist/components/ResponseBody/ResponseBodyToggle.vue.js.map +1 -1
  79. package/dist/components/ResponseBody/{ResponseBodyToggle.vue.script.js → ResponseBodyToggle.vue_vue_type_script_setup_true_lang.js} +1 -1
  80. package/dist/components/ResponseBody/ResponseBodyToggle.vue_vue_type_script_setup_true_lang.js.map +1 -0
  81. package/dist/components/SearchPopover.vue.js +2 -2
  82. package/dist/components/SearchPopover.vue.js.map +1 -1
  83. package/dist/components/{SearchPopover.vue.script.js → SearchPopover.vue_vue_type_script_setup_true_lang.js} +1 -1
  84. package/dist/components/SearchPopover.vue_vue_type_script_setup_true_lang.js.map +1 -0
  85. package/dist/components/Selector.vue.js +1 -1
  86. package/dist/components/Selector.vue.js.map +1 -1
  87. package/dist/components/{Selector.vue.script.js → Selector.vue_vue_type_script_setup_true_lang.js} +1 -1
  88. package/dist/components/Selector.vue_vue_type_script_setup_true_lang.js.map +1 -0
  89. package/dist/components/SendingRequest.vue.js +1 -1
  90. package/dist/components/SendingRequest.vue.js.map +1 -1
  91. package/dist/components/ServerSelector.vue.js +1 -1
  92. package/dist/components/ServerSelector.vue.js.map +1 -1
  93. package/dist/components/{ServerSelector.vue.script.js → ServerSelector.vue_vue_type_script_setup_true_lang.js} +1 -1
  94. package/dist/components/ServerSelector.vue_vue_type_script_setup_true_lang.js.map +1 -0
  95. package/dist/components/UploadSection.vue.js +2 -2
  96. package/dist/components/UploadSection.vue.js.map +1 -1
  97. package/dist/components/{UploadSection.vue.script.js → UploadSection.vue_vue_type_script_setup_true_lang.js} +1 -1
  98. package/dist/components/UploadSection.vue_vue_type_script_setup_true_lang.js.map +1 -0
  99. package/dist/entities/tools/execute-request.d.ts +1 -1
  100. package/dist/helpers.js +4 -2
  101. package/dist/helpers.js.map +1 -1
  102. package/dist/index.js +1 -2
  103. package/dist/package.json +1 -1
  104. package/dist/state/state.d.ts +1 -1
  105. package/dist/style.css +58 -38
  106. package/dist/views/Catalog/Catalog.vue.js +3 -3
  107. package/dist/views/Catalog/Catalog.vue.js.map +1 -1
  108. package/dist/views/Catalog/{Catalog.vue.script.js → Catalog.vue_vue_type_script_setup_true_lang.js} +1 -1
  109. package/dist/views/Catalog/Catalog.vue_vue_type_script_setup_true_lang.js.map +1 -0
  110. package/dist/views/Chat/Chat.vue.js +2 -2
  111. package/dist/views/Chat/Chat.vue.js.map +1 -1
  112. package/dist/views/Chat/{Chat.vue.script.js → Chat.vue_vue_type_script_setup_true_lang.js} +1 -1
  113. package/dist/views/Chat/Chat.vue_vue_type_script_setup_true_lang.js.map +1 -0
  114. package/dist/views/Chat/Messages/AskForAuthentication.vue.js +2 -2
  115. package/dist/views/Chat/Messages/AskForAuthentication.vue.js.map +1 -1
  116. package/dist/views/Chat/Messages/{AskForAuthentication.vue.script.js → AskForAuthentication.vue_vue_type_script_setup_true_lang.js} +1 -1
  117. package/dist/views/Chat/Messages/AskForAuthentication.vue_vue_type_script_setup_true_lang.js.map +1 -0
  118. package/dist/views/Chat/Messages/ExecuteRequestTool.vue.js +2 -2
  119. package/dist/views/Chat/Messages/ExecuteRequestTool.vue.js.map +1 -1
  120. package/dist/views/Chat/Messages/{ExecuteRequestTool.vue.script.js → ExecuteRequestTool.vue_vue_type_script_setup_true_lang.js} +1 -1
  121. package/dist/views/Chat/Messages/ExecuteRequestTool.vue_vue_type_script_setup_true_lang.js.map +1 -0
  122. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.js +1 -1
  123. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.js.map +1 -1
  124. package/dist/views/Chat/Messages/{GetOpenAPISpecsSummary.vue.script.js → GetOpenAPISpecsSummary.vue_vue_type_script_setup_true_lang.js} +1 -1
  125. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue_vue_type_script_setup_true_lang.js.map +1 -0
  126. package/dist/views/Chat/Messages/SearchOpenAPIOperationsTool.vue.js +2 -2
  127. package/dist/views/Chat/Messages/SearchOpenAPIOperationsTool.vue.js.map +1 -1
  128. package/dist/views/Chat/Messages/{SearchOpenAPIOperationsTool.vue.script.js → SearchOpenAPIOperationsTool.vue_vue_type_script_setup_true_lang.js} +1 -1
  129. package/dist/views/Chat/Messages/SearchOpenAPIOperationsTool.vue_vue_type_script_setup_true_lang.js.map +1 -0
  130. package/dist/views/Chat/Messages/Text.vue.js +1 -1
  131. package/dist/views/Chat/Messages/Text.vue.js.map +1 -1
  132. package/dist/views/Chat/Messages/{Text.vue.script.js → Text.vue_vue_type_script_setup_true_lang.js} +1 -1
  133. package/dist/views/Chat/Messages/Text.vue_vue_type_script_setup_true_lang.js.map +1 -0
  134. package/dist/views/Layout.vue.js +2 -2
  135. package/dist/views/Layout.vue.js.map +1 -1
  136. package/dist/views/{Layout.vue.script.js → Layout.vue_vue_type_script_setup_true_lang.js} +1 -1
  137. package/dist/views/Layout.vue_vue_type_script_setup_true_lang.js.map +1 -0
  138. package/dist/views/PromptForm.vue.js +2 -2
  139. package/dist/views/PromptForm.vue.js.map +1 -1
  140. package/dist/views/{PromptForm.vue.script.js → PromptForm.vue_vue_type_script_setup_true_lang.js} +1 -1
  141. package/dist/views/PromptForm.vue_vue_type_script_setup_true_lang.js.map +1 -0
  142. package/dist/views/Settings/Auth.vue.js +1 -1
  143. package/dist/views/Settings/Auth.vue.js.map +1 -1
  144. package/dist/views/Settings/{Auth.vue.script.js → Auth.vue_vue_type_script_setup_true_lang.js} +1 -1
  145. package/dist/views/Settings/Auth.vue_vue_type_script_setup_true_lang.js.map +1 -0
  146. package/dist/views/Settings/DocSettings.vue.js +2 -2
  147. package/dist/views/Settings/DocSettings.vue.js.map +1 -1
  148. package/dist/views/Settings/{DocSettings.vue.script.js → DocSettings.vue_vue_type_script_setup_true_lang.js} +1 -1
  149. package/dist/views/Settings/DocSettings.vue_vue_type_script_setup_true_lang.js.map +1 -0
  150. package/dist/views/Settings/Settings.vue.js +3 -3
  151. package/dist/views/Settings/Settings.vue.js.map +1 -1
  152. package/dist/views/Settings/{Settings.vue.script.js → Settings.vue_vue_type_script_setup_true_lang.js} +1 -1
  153. package/dist/views/Settings/Settings.vue_vue_type_script_setup_true_lang.js.map +1 -0
  154. package/dist/views/Start.vue.js +2 -2
  155. package/dist/views/Start.vue.js.map +1 -1
  156. package/dist/views/{Start.vue.script.js → Start.vue_vue_type_script_setup_true_lang.js} +1 -1
  157. package/dist/views/Start.vue_vue_type_script_setup_true_lang.js.map +1 -0
  158. package/package.json +23 -23
  159. package/dist/App.vue.script.js.map +0 -1
  160. package/dist/Chat.vue.script.js.map +0 -1
  161. package/dist/components/ActionsDropdown.vue.script.js.map +0 -1
  162. package/dist/components/ApprovalSection.vue.script.js.map +0 -1
  163. package/dist/components/ContextItem.vue.script.js.map +0 -1
  164. package/dist/components/ErrorMessage.vue.script.js.map +0 -1
  165. package/dist/components/FreeMessagesInfoSection.vue.script.js.map +0 -1
  166. package/dist/components/PaymentSection.vue.script.js.map +0 -1
  167. package/dist/components/RequestPreview.vue.script.js.map +0 -1
  168. package/dist/components/ResponseBody/ResponseBody.vue.script.js.map +0 -1
  169. package/dist/components/ResponseBody/ResponseBodyPreview.vue.script.js.map +0 -1
  170. package/dist/components/ResponseBody/ResponseBodyRaw.vue.script.js.map +0 -1
  171. package/dist/components/ResponseBody/ResponseBodyToggle.vue.script.js.map +0 -1
  172. package/dist/components/SearchPopover.vue.script.js.map +0 -1
  173. package/dist/components/Selector.vue.script.js.map +0 -1
  174. package/dist/components/ServerSelector.vue.script.js.map +0 -1
  175. package/dist/components/UploadSection.vue.script.js.map +0 -1
  176. package/dist/views/Catalog/Catalog.vue.script.js.map +0 -1
  177. package/dist/views/Chat/Chat.vue.script.js.map +0 -1
  178. package/dist/views/Chat/Messages/AskForAuthentication.vue.script.js.map +0 -1
  179. package/dist/views/Chat/Messages/ExecuteRequestTool.vue.script.js.map +0 -1
  180. package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.script.js.map +0 -1
  181. package/dist/views/Chat/Messages/SearchOpenAPIOperationsTool.vue.script.js.map +0 -1
  182. package/dist/views/Chat/Messages/Text.vue.script.js.map +0 -1
  183. package/dist/views/Layout.vue.script.js.map +0 -1
  184. package/dist/views/PromptForm.vue.script.js.map +0 -1
  185. package/dist/views/Settings/Auth.vue.script.js.map +0 -1
  186. package/dist/views/Settings/DocSettings.vue.script.js.map +0 -1
  187. package/dist/views/Settings/Settings.vue.script.js.map +0 -1
  188. package/dist/views/Start.vue.script.js.map +0 -1
@@ -24,4 +24,4 @@ var PaymentSection_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
24
24
  //#endregion
25
25
  export { PaymentSection_vue_vue_type_script_setup_true_lang_default as default };
26
26
 
27
- //# sourceMappingURL=PaymentSection.vue.script.js.map
27
+ //# sourceMappingURL=PaymentSection.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaymentSection.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_createElementVNode","_createVNode","_unref","_createTextVNode","_createStaticVNode"],"sources":["../../src/components/PaymentSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarIconInfo } from '@scalar/icons'\n\nimport { useSignupLink } from '@/hooks/use-signup-link'\n\nconst { navigateToSignup } = useSignupLink()\n</script>\n\n<template>\n <div class=\"paymentSection\">\n <strong class=\"approvalText flex items-center gap-1.5\">\n <ScalarIconInfo\n class=\"text-blue size-4\"\n weight=\"bold\" />\n You've used up your complimentary Scalar Credits. Sign up to get free\n Credits.\n </strong>\n <div class=\"paymentContainer\">\n <button\n class=\"actionButton approveButton\"\n type=\"button\"\n @click=\"navigateToSignup\">\n Sign up\n </button>\n <div class=\"paymentInfo\">\n <h3>$0 <span>/ month</span></h3>\n <div class=\"paymentInfoSection\">\n <div class=\"paymentInfoItem\">\n <span>Credits</span>\n <span>100</span>\n </div>\n <div class=\"paymentInfoItem\">\n <span>MCP Servers</span>\n <span>Unlimited</span>\n </div>\n <div class=\"paymentInfoItem\">\n <span>Base monthly total</span>\n <span>$0.00</span>\n </div>\n </div>\n <div class=\"paymentInfoSection\">\n <div class=\"paymentInfoItem\">\n <span>Additional Credits</span>\n <span>+ $0.02 per Credit</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.paymentSection {\n width: 100%;\n margin-bottom: -16px;\n padding: 8px 8px 24px 12px;\n position: relative;\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 95%\n );\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl) var(--scalar-radius-3xl) 0 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: absolute;\n top: 0;\n transform: translate3d(0, calc(-100% + 16px), 0);\n}\n\n.approvalText {\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n}\n\n.paymentContainer {\n display: flex;\n gap: 5px;\n}\n\n.actionButton {\n display: flex;\n align-items: center;\n font-weight: var(--scalar-semibold);\n border-radius: var(--scalar-radius-full);\n padding: 6px 12px;\n}\n\n.rejectButton {\n color: white;\n background: var(--scalar-color-red);\n}\n.rejectButton:hover,\n.rejectButton:active {\n background: color-mix(\n in srgb,\n var(--scalar-color-red),\n var(--scalar-background-1) 10%\n );\n color: white !important;\n}\n\n.approveButton {\n color: white;\n font-size: var(--scalar-font-size-3);\n background: var(--scalar-color-blue);\n}\n.approveButton:hover,\n.approveButton:active {\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 10%\n );\n color: white !important;\n}\n.paymentInfo {\n width: 300px;\n position: absolute;\n right: 0;\n bottom: 70px;\n box-shadow: var(--scalar-shadow-2);\n background: var(--scalar-background-1);\n border-radius: var(--scalar-radius-3xl);\n pointer-events: none;\n padding: 12px;\n transform: translate3d(0, -5px, 0);\n opacity: 0;\n transition: all 0.2s ease-in-out;\n}\n.paymentInfo h3 {\n font-size: var(--scalar-font-size-1);\n font-weight: var(--scalar-bold);\n margin-bottom: 18px;\n}\n.paymentInfo h3 span {\n font-size: var(--scalar-font-size-2);\n}\n.dark-mode .paymentInfo {\n background: var(--scalar-background-2);\n}\n.paymentContainer:hover .paymentInfo {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n}\n.paymentInfoItem {\n display: flex;\n justify-content: space-between;\n margin-top: 8px;\n font-size: var(--scalar-font-size-3);\n color: var(--scalar-color-2);\n font-weight: var(--scalar-semibold);\n}\n.paymentInfoSection:not(:last-child) {\n border-bottom: var(--scalar-border-width) solid var(--scalar-border-color);\n padding-bottom: 8px;\n}\n</style>\n"],"mappings":";;;;;;;;;;EAKA,MAAM,EAAE,qBAAqB,cAAc;;GAIzC,OAAAA,UAAA,GAAAC,mBAuCM,OAvCN,YAuCM,CAtCJC,mBAMS,UANT,YAMS,CALPC,YAEkBC,MAAA,cAAA,GAAA;IADhB,OAAM;IACN,QAAO;G,IAAS,OAAA,OAAA,OAAA,KAAAC,gBAAA,oFAGpB,EAAA,E,IACAH,mBA8BM,OA9BN,YA8BM,CA7BJA,mBAKS,UAAA;IAJP,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,MAAE,GAAA,SAAAE,MAAA,gBAAA,KAAAA,MAAA,gBAAA,CAAA,CAAA,GAAA,IAAA;GAAkB,GAAA,WAE5B,G"}
@@ -1,5 +1,5 @@
1
1
  import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-helper.js";
2
- /* empty css */
2
+ /* empty css */
3
3
  import { createElementBlock, createStaticVNode, openBlock } from "vue";
4
4
  //#region src/components/RequestApproved.vue
5
5
  var _sfc_main = {};
@@ -1 +1 @@
1
- {"version":3,"file":"RequestApproved.vue.js","names":[],"sources":["../../src/components/RequestApproved.vue"],"sourcesContent":["<template>\n <div class=\"requestApproved\">\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <rect\n height=\"14.25\"\n rx=\"7.125\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <rect\n height=\"14.25\"\n rx=\"7.125\"\n stroke=\"var(--scalar-color-green)\"\n stroke-width=\"1.75\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <g clip-path=\"url(#clip0_74_840)\">\n <path\n d=\"M11.6037 6.841L7.59117 10.8535C7.49742 10.9472 7.37029 10.9998 7.23774 10.9998C7.10519 10.9998 6.97806 10.9472 6.8843 10.8535L4.64617 8.6035C4.55257 8.50975 4.5 8.38269 4.5 8.25022C4.5 8.11774 4.55257 7.99068 4.64617 7.89694L5.27117 7.27194C5.36488 7.17862 5.49174 7.12623 5.62399 7.12623C5.75623 7.12623 5.88309 7.17862 5.9768 7.27194L7.25024 8.50694L10.274 5.52037C10.3677 5.42696 10.4946 5.37451 10.627 5.37451C10.7593 5.37451 10.8862 5.42696 10.9799 5.52037L11.6034 6.131C11.6502 6.17746 11.6875 6.23274 11.7129 6.29366C11.7383 6.35458 11.7514 6.41993 11.7514 6.48593C11.7514 6.55194 11.7384 6.6173 11.713 6.67824C11.6877 6.73918 11.6505 6.7945 11.6037 6.841Z\"\n fill=\"var(--scalar-color-green)\" />\n </g>\n <defs>\n <clipPath id=\"clip0_74_840\">\n <rect\n height=\"8\"\n rx=\"4\"\n width=\"8\"\n x=\"4\"\n y=\"4\" />\n </clipPath>\n </defs>\n </svg>\n Request Approved\n </div>\n</template>\n\n<style scoped>\n.requestApproved {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-green);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,kBAAiB;;qBAA5B,mBAsCM,OAtCN,YAsCM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAAA,kBAAA,i1CAAA,CAAA,CAAA,EAAA,CAAA"}
1
+ {"version":3,"file":"RequestApproved.vue.js","names":["_openBlock","_createElementBlock","_createStaticVNode"],"sources":["../../src/components/RequestApproved.vue"],"sourcesContent":["<template>\n <div class=\"requestApproved\">\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <rect\n height=\"14.25\"\n rx=\"7.125\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <rect\n height=\"14.25\"\n rx=\"7.125\"\n stroke=\"var(--scalar-color-green)\"\n stroke-width=\"1.75\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <g clip-path=\"url(#clip0_74_840)\">\n <path\n d=\"M11.6037 6.841L7.59117 10.8535C7.49742 10.9472 7.37029 10.9998 7.23774 10.9998C7.10519 10.9998 6.97806 10.9472 6.8843 10.8535L4.64617 8.6035C4.55257 8.50975 4.5 8.38269 4.5 8.25022C4.5 8.11774 4.55257 7.99068 4.64617 7.89694L5.27117 7.27194C5.36488 7.17862 5.49174 7.12623 5.62399 7.12623C5.75623 7.12623 5.88309 7.17862 5.9768 7.27194L7.25024 8.50694L10.274 5.52037C10.3677 5.42696 10.4946 5.37451 10.627 5.37451C10.7593 5.37451 10.8862 5.42696 10.9799 5.52037L11.6034 6.131C11.6502 6.17746 11.6875 6.23274 11.7129 6.29366C11.7383 6.35458 11.7514 6.41993 11.7514 6.48593C11.7514 6.55194 11.7384 6.6173 11.713 6.67824C11.6877 6.73918 11.6505 6.7945 11.6037 6.841Z\"\n fill=\"var(--scalar-color-green)\" />\n </g>\n <defs>\n <clipPath id=\"clip0_74_840\">\n <rect\n height=\"8\"\n rx=\"4\"\n width=\"8\"\n x=\"4\"\n y=\"4\" />\n </clipPath>\n </defs>\n </svg>\n Request Approved\n </div>\n</template>\n\n<style scoped>\n.requestApproved {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-green);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"mappings":";;;;;AACO,IAAA,aAAA,EAAA,OAAM,kBAAiB;;CAA5B,OAAAA,UAAA,GAAAC,mBAsCM,OAtCN,YAsCM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,C"}
@@ -1,5 +1,5 @@
1
1
  import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-helper.js";
2
- /* empty css */
2
+ /* empty css */
3
3
  import { createElementBlock, createElementVNode, createTextVNode, openBlock } from "vue";
4
4
  //#region src/components/RequestFailed.vue
5
5
  var _sfc_main = {};
@@ -1 +1 @@
1
- {"version":3,"file":"RequestFailed.vue.js","names":[],"sources":["../../src/components/RequestFailed.vue"],"sourcesContent":["<template>\n <div class=\"requestFailed\">\n <i class=\"requestFailedIcon\">\n <svg\n fill=\"currentColor\"\n height=\"100%\"\n viewBox=\"0 0 256 256\"\n width=\"100%\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M216,48V208a16,16,0,0,1-16,16H160a16,16,0,0,1-16-16V48a16,16,0,0,1,16-16h40A16,16,0,0,1,216,48ZM96,32H56A16,16,0,0,0,40,48V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V48A16,16,0,0,0,96,32Z\"></path>\n </svg>\n </i>\n Request Failed\n </div>\n</template>\n\n<style scoped>\n.requestFailed {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-red);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n.requestFailedIcon {\n box-shadow: inset 0 0 0 1.5px currentColor;\n padding: 4px;\n padding: 4px;\n width: 16px;\n height: 16px;\n border-radius: var(--scalar-radius-full);\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,gBAAe;;qBAA1B,mBAaM,OAbN,YAaM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAZJ,mBAUI,KAAA,EAVD,OAAM,oBAAmB,GAAA,CAC1B,mBAQM,OAAA;EAPJ,MAAK;EACL,QAAO;EACP,SAAQ;EACR,OAAM;EACN,OAAM;KACN,mBACyM,QAAA,EAAvM,GAAE,8LAA6L,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,GAAA,gBAEjM,oBAEN,EAAA,CAAA,EAAA,CAAA"}
1
+ {"version":3,"file":"RequestFailed.vue.js","names":["_openBlock","_createElementBlock","_createElementVNode","_createTextVNode"],"sources":["../../src/components/RequestFailed.vue"],"sourcesContent":["<template>\n <div class=\"requestFailed\">\n <i class=\"requestFailedIcon\">\n <svg\n fill=\"currentColor\"\n height=\"100%\"\n viewBox=\"0 0 256 256\"\n width=\"100%\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M216,48V208a16,16,0,0,1-16,16H160a16,16,0,0,1-16-16V48a16,16,0,0,1,16-16h40A16,16,0,0,1,216,48ZM96,32H56A16,16,0,0,0,40,48V208a16,16,0,0,0,16,16H96a16,16,0,0,0,16-16V48A16,16,0,0,0,96,32Z\"></path>\n </svg>\n </i>\n Request Failed\n </div>\n</template>\n\n<style scoped>\n.requestFailed {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-red);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n.requestFailedIcon {\n box-shadow: inset 0 0 0 1.5px currentColor;\n padding: 4px;\n padding: 4px;\n width: 16px;\n height: 16px;\n border-radius: var(--scalar-radius-full);\n}\n</style>\n"],"mappings":";;;;;AACO,IAAA,aAAA,EAAA,OAAM,gBAAe;;CAA1B,OAAAA,UAAA,GAAAC,mBAaM,OAbN,YAaM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAZJC,mBAUI,KAAA,EAVD,OAAM,oBAAmB,GAAA,CAC1BA,mBAQM,OAAA;EAPJ,MAAK;EACL,QAAO;EACP,SAAQ;EACR,OAAM;EACN,OAAM;C,IACNA,mBACyM,QAAA,EAAvM,GAAE,8LAA6L,CAAA,C,UAEjMC,gBAAA,oBAEN,EAAA,C"}
@@ -1,6 +1,6 @@
1
1
  import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-helper.js";
2
- import RequestPreview_vue_vue_type_script_setup_true_lang_default from "./RequestPreview.vue.script.js";
3
- /* empty css */
2
+ import RequestPreview_vue_vue_type_script_setup_true_lang_default from "./RequestPreview.vue_vue_type_script_setup_true_lang.js";
3
+ /* empty css */
4
4
  //#region src/components/RequestPreview.vue
5
5
  var RequestPreview_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RequestPreview_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-e049f4c9"]]);
6
6
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"RequestPreview.vue.js","names":[],"sources":["../../src/components/RequestPreview.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarCodeBlock } from '@scalar/components/code-block'\nimport { ScalarIconCaretDown, ScalarIconCaretRight } from '@scalar/icons'\nimport { type DeepPartial } from 'ai'\nimport { computed, ref } from 'vue'\n\nimport AutosendPaused from '@/components/AutosendPaused.vue'\nimport BuildingRequest from '@/components/BuildingRequest.vue'\nimport RequestApproved from '@/components/RequestApproved.vue'\nimport RequestFailed from '@/components/RequestFailed.vue'\nimport RequestRejected from '@/components/RequestRejected.vue'\nimport RequestSuccess from '@/components/RequestSuccess.vue'\nimport { getMediaTypeConfig } from '@/components/ResponseBody/helpers/media-types'\nimport { processResponseBody } from '@/components/ResponseBody/helpers/process-response-body'\nimport ResponseBody from '@/components/ResponseBody/ResponseBody.vue'\nimport ResponseBodyToggle from '@/components/ResponseBody/ResponseBodyToggle.vue'\nimport SendingRequest from '@/components/SendingRequest.vue'\nimport type {\n ExecuteClientSideRequestToolInput,\n ExecuteClientSideRequestToolOutput,\n} from '@/entities/tools/execute-request'\n\nconst { request, response, state } = defineProps<{\n request?:\n | ExecuteClientSideRequestToolInput\n | DeepPartial<ExecuteClientSideRequestToolInput>\n response?: ExecuteClientSideRequestToolOutput\n state:\n | 'requiresApproval'\n | 'sendingRequest'\n | 'requestSucceeded'\n | 'requestFailed'\n | 'approved'\n | 'rejected'\n | 'buildingRequest'\n}>()\n\nconst responseData = computed(() => {\n if (response?.success) {\n return {\n data: response.data.responseBody,\n headers: response.data.headers,\n }\n }\n\n if (response?.error?.code === 'REQUEST_NOT_OK') {\n return {\n data: response.error.detail.responseBody,\n headers: response.error.detail.headers,\n }\n }\n\n return undefined\n})\n\nconst showRequestToggle = ref(false)\n\n/** Show request preview automatically for failed requests or when approval is required. */\nconst shouldShowRequest = computed(() => {\n if (state === 'requestFailed' || state === 'requiresApproval') {\n return true\n }\n return showRequestToggle.value\n})\n\nconst responseBody = computed(() =>\n processResponseBody({\n data: responseData.value?.data,\n headers: responseData.value?.headers,\n }),\n)\n\nconst mediaConfig = computed(() =>\n getMediaTypeConfig(responseBody.value.mimeType?.essence ?? ''),\n)\n\nconst displayToggle = ref<'preview' | 'raw'>()\nfunction toggleDisplay(mode: 'preview' | 'raw') {\n displayToggle.value = mode\n}\n\nconst displayMode = computed(() => {\n if (displayToggle.value) {\n return displayToggle.value\n }\n\n if (mediaConfig.value?.raw && !mediaConfig.value.preview) {\n return 'raw'\n }\n if (mediaConfig.value?.preview) {\n return 'preview'\n }\n\n return 'raw'\n})\n</script>\n\n<template>\n <div\n class=\"requestPreview\"\n :class=\"{\n open: shouldShowRequest,\n succeeded: state === 'requestSucceeded',\n }\">\n <RequestApproved v-if=\"state === 'approved'\" />\n <div\n v-else-if=\"state === 'buildingRequest'\"\n class=\"autosendContainer\">\n <BuildingRequest />\n </div>\n <div\n v-else-if=\"state === 'requiresApproval'\"\n class=\"autosendContainer\">\n <AutosendPaused />\n </div>\n <button\n v-else-if=\"state === 'sendingRequest'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <SendingRequest />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <button\n v-else-if=\"state === 'requestSucceeded'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <RequestSuccess />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <button\n v-else-if=\"state === 'rejected'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <RequestRejected />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <RequestFailed v-else-if=\"state === 'requestFailed'\" />\n <div class=\"requestContent\">\n <div class=\"requestContentInner\">\n <div\n v-if=\"request\"\n class=\"code\">\n <div class=\"requestHeaderContainer\">\n <h1>Request</h1>\n </div>\n <ScalarCodeBlock\n class=\"codeBlock\"\n :content=\"JSON.stringify(request, null, 2)\"\n lang=\"json\" />\n </div>\n <div\n v-if=\"responseData\"\n class=\"code\">\n <div class=\"requestHeaderContainer\">\n <h1>Response</h1>\n <ResponseBodyToggle\n v-if=\"mediaConfig?.raw && mediaConfig.preview\"\n v-model=\"displayMode\"\n @toggle=\"toggleDisplay\" />\n </div>\n <ResponseBody\n :data=\"responseData.data\"\n :display=\"displayMode\"\n :mediaConfig=\"mediaConfig\"\n :responseBody=\"responseBody\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.requestHeaderContainer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 5px;\n}\n\n.requestPreview {\n border-radius: var(--scalar-radius-2xl);\n display: flex;\n flex-direction: column;\n width: 100%;\n position: relative;\n}\n\n.requestContent {\n display: grid;\n grid-template-rows: 0fr;\n min-height: 0;\n overflow: hidden;\n transition: grid-template-rows 0.2s ease-out;\n}\n\n.requestPreview.open .requestContent {\n grid-template-rows: 1fr;\n}\n.requestPreview.succeeded {\n padding: 0;\n}\n\n.requestContentInner {\n min-height: 0;\n overflow: hidden;\n}\n.code {\n display: flex;\n flex-direction: column;\n font-size: var(--scalar-font-size-4);\n border-radius: var(--scalar-radius-2xl);\n background: color-mix(\n in srgb,\n var(--scalar-background-2),\n var(--scalar-background-1)\n );\n overflow: hidden;\n margin-bottom: 12px;\n}\n.dark-mode .code {\n background: var(--scalar-background-2);\n}\n.code h1 {\n font-size: var(--scalar-font-size-3);\n color: var(--scalar-color-3);\n padding: 8px;\n}\n.code :deep(.codeBlock) {\n max-height: calc(50vh - 100px);\n padding-top: 0;\n}\n.autosendContainer {\n display: flex;\n justify-content: space-between;\n}\n\n.sendButton {\n background: var(--scalar-color-blue);\n color: white;\n font-weight: var(--scalar-semibold);\n padding: 5px 10px;\n}\n.sendButton:hover,\n.sendButton:active {\n background: color-mix(in srgb, var(--scalar-color-blue), black 10%);\n color: white !important;\n}\n\n.toggleButton {\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n position: relative;\n display: flex;\n align-items: center;\n color: var(--scalar-color-3);\n justify-content: space-between;\n border-radius: var(--scalar-radius-lg);\n}\n\n.toggleButton:hover {\n text-decoration: underline;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"RequestPreview.vue.js","names":["_sfc_main"],"sources":["../../src/components/RequestPreview.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarCodeBlock } from '@scalar/components/code-block'\nimport { ScalarIconCaretDown, ScalarIconCaretRight } from '@scalar/icons'\nimport { type DeepPartial } from 'ai'\nimport { computed, ref } from 'vue'\n\nimport AutosendPaused from '@/components/AutosendPaused.vue'\nimport BuildingRequest from '@/components/BuildingRequest.vue'\nimport RequestApproved from '@/components/RequestApproved.vue'\nimport RequestFailed from '@/components/RequestFailed.vue'\nimport RequestRejected from '@/components/RequestRejected.vue'\nimport RequestSuccess from '@/components/RequestSuccess.vue'\nimport { getMediaTypeConfig } from '@/components/ResponseBody/helpers/media-types'\nimport { processResponseBody } from '@/components/ResponseBody/helpers/process-response-body'\nimport ResponseBody from '@/components/ResponseBody/ResponseBody.vue'\nimport ResponseBodyToggle from '@/components/ResponseBody/ResponseBodyToggle.vue'\nimport SendingRequest from '@/components/SendingRequest.vue'\nimport type {\n ExecuteClientSideRequestToolInput,\n ExecuteClientSideRequestToolOutput,\n} from '@/entities/tools/execute-request'\n\nconst { request, response, state } = defineProps<{\n request?:\n | ExecuteClientSideRequestToolInput\n | DeepPartial<ExecuteClientSideRequestToolInput>\n response?: ExecuteClientSideRequestToolOutput\n state:\n | 'requiresApproval'\n | 'sendingRequest'\n | 'requestSucceeded'\n | 'requestFailed'\n | 'approved'\n | 'rejected'\n | 'buildingRequest'\n}>()\n\nconst responseData = computed(() => {\n if (response?.success) {\n return {\n data: response.data.responseBody,\n headers: response.data.headers,\n }\n }\n\n if (response?.error?.code === 'REQUEST_NOT_OK') {\n return {\n data: response.error.detail.responseBody,\n headers: response.error.detail.headers,\n }\n }\n\n return undefined\n})\n\nconst showRequestToggle = ref(false)\n\n/** Show request preview automatically for failed requests or when approval is required. */\nconst shouldShowRequest = computed(() => {\n if (state === 'requestFailed' || state === 'requiresApproval') {\n return true\n }\n return showRequestToggle.value\n})\n\nconst responseBody = computed(() =>\n processResponseBody({\n data: responseData.value?.data,\n headers: responseData.value?.headers,\n }),\n)\n\nconst mediaConfig = computed(() =>\n getMediaTypeConfig(responseBody.value.mimeType?.essence ?? ''),\n)\n\nconst displayToggle = ref<'preview' | 'raw'>()\nfunction toggleDisplay(mode: 'preview' | 'raw') {\n displayToggle.value = mode\n}\n\nconst displayMode = computed(() => {\n if (displayToggle.value) {\n return displayToggle.value\n }\n\n if (mediaConfig.value?.raw && !mediaConfig.value.preview) {\n return 'raw'\n }\n if (mediaConfig.value?.preview) {\n return 'preview'\n }\n\n return 'raw'\n})\n</script>\n\n<template>\n <div\n class=\"requestPreview\"\n :class=\"{\n open: shouldShowRequest,\n succeeded: state === 'requestSucceeded',\n }\">\n <RequestApproved v-if=\"state === 'approved'\" />\n <div\n v-else-if=\"state === 'buildingRequest'\"\n class=\"autosendContainer\">\n <BuildingRequest />\n </div>\n <div\n v-else-if=\"state === 'requiresApproval'\"\n class=\"autosendContainer\">\n <AutosendPaused />\n </div>\n <button\n v-else-if=\"state === 'sendingRequest'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <SendingRequest />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <button\n v-else-if=\"state === 'requestSucceeded'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <RequestSuccess />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <button\n v-else-if=\"state === 'rejected'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <RequestRejected />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <RequestFailed v-else-if=\"state === 'requestFailed'\" />\n <div class=\"requestContent\">\n <div class=\"requestContentInner\">\n <div\n v-if=\"request\"\n class=\"code\">\n <div class=\"requestHeaderContainer\">\n <h1>Request</h1>\n </div>\n <ScalarCodeBlock\n class=\"codeBlock\"\n :content=\"JSON.stringify(request, null, 2)\"\n lang=\"json\" />\n </div>\n <div\n v-if=\"responseData\"\n class=\"code\">\n <div class=\"requestHeaderContainer\">\n <h1>Response</h1>\n <ResponseBodyToggle\n v-if=\"mediaConfig?.raw && mediaConfig.preview\"\n v-model=\"displayMode\"\n @toggle=\"toggleDisplay\" />\n </div>\n <ResponseBody\n :data=\"responseData.data\"\n :display=\"displayMode\"\n :mediaConfig=\"mediaConfig\"\n :responseBody=\"responseBody\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.requestHeaderContainer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 5px;\n}\n\n.requestPreview {\n border-radius: var(--scalar-radius-2xl);\n display: flex;\n flex-direction: column;\n width: 100%;\n position: relative;\n}\n\n.requestContent {\n display: grid;\n grid-template-rows: 0fr;\n min-height: 0;\n overflow: hidden;\n transition: grid-template-rows 0.2s ease-out;\n}\n\n.requestPreview.open .requestContent {\n grid-template-rows: 1fr;\n}\n.requestPreview.succeeded {\n padding: 0;\n}\n\n.requestContentInner {\n min-height: 0;\n overflow: hidden;\n}\n.code {\n display: flex;\n flex-direction: column;\n font-size: var(--scalar-font-size-4);\n border-radius: var(--scalar-radius-2xl);\n background: color-mix(\n in srgb,\n var(--scalar-background-2),\n var(--scalar-background-1)\n );\n overflow: hidden;\n margin-bottom: 12px;\n}\n.dark-mode .code {\n background: var(--scalar-background-2);\n}\n.code h1 {\n font-size: var(--scalar-font-size-3);\n color: var(--scalar-color-3);\n padding: 8px;\n}\n.code :deep(.codeBlock) {\n max-height: calc(50vh - 100px);\n padding-top: 0;\n}\n.autosendContainer {\n display: flex;\n justify-content: space-between;\n}\n\n.sendButton {\n background: var(--scalar-color-blue);\n color: white;\n font-weight: var(--scalar-semibold);\n padding: 5px 10px;\n}\n.sendButton:hover,\n.sendButton:active {\n background: color-mix(in srgb, var(--scalar-color-blue), black 10%);\n color: white !important;\n}\n\n.toggleButton {\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n position: relative;\n display: flex;\n align-items: center;\n color: var(--scalar-color-3);\n justify-content: space-between;\n border-radius: var(--scalar-radius-lg);\n}\n\n.toggleButton:hover {\n text-decoration: underline;\n}\n</style>\n"],"mappings":""}
@@ -116,4 +116,4 @@ var RequestPreview_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
116
116
  //#endregion
117
117
  export { RequestPreview_vue_vue_type_script_setup_true_lang_default as default };
118
118
 
119
- //# sourceMappingURL=RequestPreview.vue.script.js.map
119
+ //# sourceMappingURL=RequestPreview.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestPreview.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_normalizeClass","_createBlock","RequestApproved","_createVNode","BuildingRequest","AutosendPaused","SendingRequest","_unref","RequestSuccess","RequestRejected","RequestFailed","_createCommentVNode","_createElementVNode","ResponseBodyToggle","ResponseBody"],"sources":["../../src/components/RequestPreview.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarCodeBlock } from '@scalar/components/code-block'\nimport { ScalarIconCaretDown, ScalarIconCaretRight } from '@scalar/icons'\nimport { type DeepPartial } from 'ai'\nimport { computed, ref } from 'vue'\n\nimport AutosendPaused from '@/components/AutosendPaused.vue'\nimport BuildingRequest from '@/components/BuildingRequest.vue'\nimport RequestApproved from '@/components/RequestApproved.vue'\nimport RequestFailed from '@/components/RequestFailed.vue'\nimport RequestRejected from '@/components/RequestRejected.vue'\nimport RequestSuccess from '@/components/RequestSuccess.vue'\nimport { getMediaTypeConfig } from '@/components/ResponseBody/helpers/media-types'\nimport { processResponseBody } from '@/components/ResponseBody/helpers/process-response-body'\nimport ResponseBody from '@/components/ResponseBody/ResponseBody.vue'\nimport ResponseBodyToggle from '@/components/ResponseBody/ResponseBodyToggle.vue'\nimport SendingRequest from '@/components/SendingRequest.vue'\nimport type {\n ExecuteClientSideRequestToolInput,\n ExecuteClientSideRequestToolOutput,\n} from '@/entities/tools/execute-request'\n\nconst { request, response, state } = defineProps<{\n request?:\n | ExecuteClientSideRequestToolInput\n | DeepPartial<ExecuteClientSideRequestToolInput>\n response?: ExecuteClientSideRequestToolOutput\n state:\n | 'requiresApproval'\n | 'sendingRequest'\n | 'requestSucceeded'\n | 'requestFailed'\n | 'approved'\n | 'rejected'\n | 'buildingRequest'\n}>()\n\nconst responseData = computed(() => {\n if (response?.success) {\n return {\n data: response.data.responseBody,\n headers: response.data.headers,\n }\n }\n\n if (response?.error?.code === 'REQUEST_NOT_OK') {\n return {\n data: response.error.detail.responseBody,\n headers: response.error.detail.headers,\n }\n }\n\n return undefined\n})\n\nconst showRequestToggle = ref(false)\n\n/** Show request preview automatically for failed requests or when approval is required. */\nconst shouldShowRequest = computed(() => {\n if (state === 'requestFailed' || state === 'requiresApproval') {\n return true\n }\n return showRequestToggle.value\n})\n\nconst responseBody = computed(() =>\n processResponseBody({\n data: responseData.value?.data,\n headers: responseData.value?.headers,\n }),\n)\n\nconst mediaConfig = computed(() =>\n getMediaTypeConfig(responseBody.value.mimeType?.essence ?? ''),\n)\n\nconst displayToggle = ref<'preview' | 'raw'>()\nfunction toggleDisplay(mode: 'preview' | 'raw') {\n displayToggle.value = mode\n}\n\nconst displayMode = computed(() => {\n if (displayToggle.value) {\n return displayToggle.value\n }\n\n if (mediaConfig.value?.raw && !mediaConfig.value.preview) {\n return 'raw'\n }\n if (mediaConfig.value?.preview) {\n return 'preview'\n }\n\n return 'raw'\n})\n</script>\n\n<template>\n <div\n class=\"requestPreview\"\n :class=\"{\n open: shouldShowRequest,\n succeeded: state === 'requestSucceeded',\n }\">\n <RequestApproved v-if=\"state === 'approved'\" />\n <div\n v-else-if=\"state === 'buildingRequest'\"\n class=\"autosendContainer\">\n <BuildingRequest />\n </div>\n <div\n v-else-if=\"state === 'requiresApproval'\"\n class=\"autosendContainer\">\n <AutosendPaused />\n </div>\n <button\n v-else-if=\"state === 'sendingRequest'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <SendingRequest />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <button\n v-else-if=\"state === 'requestSucceeded'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <RequestSuccess />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <button\n v-else-if=\"state === 'rejected'\"\n class=\"toggleButton\"\n type=\"button\"\n @click=\"showRequestToggle = !showRequestToggle\">\n <RequestRejected />\n\n <ScalarIconCaretDown v-if=\"shouldShowRequest\" />\n <ScalarIconCaretRight v-else />\n </button>\n <RequestFailed v-else-if=\"state === 'requestFailed'\" />\n <div class=\"requestContent\">\n <div class=\"requestContentInner\">\n <div\n v-if=\"request\"\n class=\"code\">\n <div class=\"requestHeaderContainer\">\n <h1>Request</h1>\n </div>\n <ScalarCodeBlock\n class=\"codeBlock\"\n :content=\"JSON.stringify(request, null, 2)\"\n lang=\"json\" />\n </div>\n <div\n v-if=\"responseData\"\n class=\"code\">\n <div class=\"requestHeaderContainer\">\n <h1>Response</h1>\n <ResponseBodyToggle\n v-if=\"mediaConfig?.raw && mediaConfig.preview\"\n v-model=\"displayMode\"\n @toggle=\"toggleDisplay\" />\n </div>\n <ResponseBody\n :data=\"responseData.data\"\n :display=\"displayMode\"\n :mediaConfig=\"mediaConfig\"\n :responseBody=\"responseBody\" />\n </div>\n </div>\n </div>\n </div>\n</template>\n\n<style scoped>\n.requestHeaderContainer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0 5px;\n}\n\n.requestPreview {\n border-radius: var(--scalar-radius-2xl);\n display: flex;\n flex-direction: column;\n width: 100%;\n position: relative;\n}\n\n.requestContent {\n display: grid;\n grid-template-rows: 0fr;\n min-height: 0;\n overflow: hidden;\n transition: grid-template-rows 0.2s ease-out;\n}\n\n.requestPreview.open .requestContent {\n grid-template-rows: 1fr;\n}\n.requestPreview.succeeded {\n padding: 0;\n}\n\n.requestContentInner {\n min-height: 0;\n overflow: hidden;\n}\n.code {\n display: flex;\n flex-direction: column;\n font-size: var(--scalar-font-size-4);\n border-radius: var(--scalar-radius-2xl);\n background: color-mix(\n in srgb,\n var(--scalar-background-2),\n var(--scalar-background-1)\n );\n overflow: hidden;\n margin-bottom: 12px;\n}\n.dark-mode .code {\n background: var(--scalar-background-2);\n}\n.code h1 {\n font-size: var(--scalar-font-size-3);\n color: var(--scalar-color-3);\n padding: 8px;\n}\n.code :deep(.codeBlock) {\n max-height: calc(50vh - 100px);\n padding-top: 0;\n}\n.autosendContainer {\n display: flex;\n justify-content: space-between;\n}\n\n.sendButton {\n background: var(--scalar-color-blue);\n color: white;\n font-weight: var(--scalar-semibold);\n padding: 5px 10px;\n}\n.sendButton:hover,\n.sendButton:active {\n background: color-mix(in srgb, var(--scalar-color-blue), black 10%);\n color: white !important;\n}\n\n.toggleButton {\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n position: relative;\n display: flex;\n align-items: center;\n color: var(--scalar-color-3);\n justify-content: space-between;\n border-radius: var(--scalar-radius-lg);\n}\n\n.toggleButton:hover {\n text-decoration: underline;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCA,MAAM,eAAe,eAAe;GAClC,IAAI,QAAA,UAAU,SACZ,OAAO;IACL,MAAM,QAAA,SAAS,KAAK;IACpB,SAAS,QAAA,SAAS,KAAK;GACzB;GAGF,IAAI,QAAA,UAAU,OAAO,SAAS,kBAC5B,OAAO;IACL,MAAM,QAAA,SAAS,MAAM,OAAO;IAC5B,SAAS,QAAA,SAAS,MAAM,OAAO;GACjC;EAIJ,CAAC;EAED,MAAM,oBAAoB,IAAI,KAAK;;EAGnC,MAAM,oBAAoB,eAAe;GACvC,IAAI,QAAA,UAAU,mBAAmB,QAAA,UAAU,oBACzC,OAAO;GAET,OAAO,kBAAkB;EAC3B,CAAC;EAED,MAAM,eAAe,eACnB,oBAAoB;GAClB,MAAM,aAAa,OAAO;GAC1B,SAAS,aAAa,OAAO;EAC/B,CAAC,CACH;EAEA,MAAM,cAAc,eAClB,mBAAmB,aAAa,MAAM,UAAU,WAAW,EAAE,CAC/D;EAEA,MAAM,gBAAgB,IAAuB;EAC7C,SAAS,cAAc,MAAyB;GAC9C,cAAc,QAAQ;EACxB;EAEA,MAAM,cAAc,eAAe;GACjC,IAAI,cAAc,OAChB,OAAO,cAAc;GAGvB,IAAI,YAAY,OAAO,OAAO,CAAC,YAAY,MAAM,SAC/C,OAAO;GAET,IAAI,YAAY,OAAO,SACrB,OAAO;GAGT,OAAO;EACT,CAAC;;GAIC,OAAAA,UAAA,GAAAC,mBA+EM,OAAA,EA9EJ,OAAKC,eAAA,CAAC,kBAAgB;IACA,MAAA,kBAAA;IAAoC,WAAA,QAAA,UAAK;G,QAIxC,QAAA,UAAK,cAA5BF,UAAA,GAAAG,YAA+CC,yBAAA,EAAA,KAAA,EAAA,CAAA,KAElC,QAAA,UAAK,qBADlBJ,UAAA,GAAAC,mBAIM,OAJN,YAIM,CADJI,YAAmBC,uBAAA,C,MAGR,QAAA,UAAK,sBADlBN,UAAA,GAAAC,mBAIM,OAJN,YAIM,CADJI,YAAkBE,sBAAA,C,MAGP,QAAA,UAAK,oBADlBP,UAAA,GAAAC,mBASS,UAAA;;IAPP,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,kBAAA,QAAiB,CAAI,kBAAA;G,IAC7BI,YAAkBG,sBAAA,GAES,kBAAA,SAA3BR,UAAA,GAAAG,YAAgDM,MAAA,mBAAA,GAAA,EAAA,KAAA,EAAA,CAAA,MAChDT,UAAA,GAAAG,YAA+BM,MAAA,oBAAA,GAAA,EAAA,KAAA,EAAA,CAAA,E,MAGpB,QAAA,UAAK,sBADlBT,UAAA,GAAAC,mBASS,UAAA;;IAPP,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,kBAAA,QAAiB,CAAI,kBAAA;G,IAC7BI,YAAkBK,sBAAA,GAES,kBAAA,SAA3BV,UAAA,GAAAG,YAAgDM,MAAA,mBAAA,GAAA,EAAA,KAAA,EAAA,CAAA,MAChDT,UAAA,GAAAG,YAA+BM,MAAA,oBAAA,GAAA,EAAA,KAAA,EAAA,CAAA,E,MAGpB,QAAA,UAAK,cADlBT,UAAA,GAAAC,mBASS,UAAA;;IAPP,OAAM;IACN,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,kBAAA,QAAiB,CAAI,kBAAA;G,IAC7BI,YAAmBM,uBAAA,GAEQ,kBAAA,SAA3BX,UAAA,GAAAG,YAAgDM,MAAA,mBAAA,GAAA,EAAA,KAAA,EAAA,CAAA,MAChDT,UAAA,GAAAG,YAA+BM,MAAA,oBAAA,GAAA,EAAA,KAAA,EAAA,CAAA,E,MAEP,QAAA,UAAK,mBAA/BT,UAAA,GAAAG,YAAuDS,uBAAA,EAAA,KAAA,EAAA,CAAA,K,8BACvDE,mBA8BM,OA9BN,YA8BM,CA7BJA,mBA4BM,OA5BN,YA4BM,CA1BI,QAAA,WADRd,UAAA,GAAAC,mBAUM,OAVN,YAUM,CAPJ,OAAA,OAAA,OAAA,KAAAa,mBAEM,OAAA,EAFD,OAAM,yBAAwB,GAAA,CACjCA,mBAAgB,MAAA,MAAZ,SAAO,C,SAEbT,YAGgBI,MAAA,eAAA,GAAA;IAFd,OAAM;IACL,SAAS,KAAK,UAAU,QAAA,SAAO,MAAA,CAAA;IAChC,MAAK;G,4DAGD,aAAA,SADRT,UAAA,GAAAC,mBAeM,OAfN,YAeM,CAZJa,mBAMM,OANN,YAMM,CALJ,OAAA,OAAA,OAAA,KAAAA,mBAAiB,MAAA,MAAb,YAAQ,EAAA,IAEJ,YAAA,OAAa,OAAO,YAAA,MAAY,WADxCd,UAAA,GAAAG,YAG4BY,4BAAA;;IADjB,YAAA,YAAA;IAAA,uBAAA,OAAA,OAAA,OAAA,MAAA,WAAA,YAAW,QAAA;IACnB,UAAQ;G,+DAEbV,YAIiCW,sBAAA;IAH9B,MAAM,aAAA,MAAa;IACnB,SAAS,YAAA;IACT,aAAa,YAAA;IACb,cAAc,aAAA"}
@@ -1,5 +1,5 @@
1
1
  import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-helper.js";
2
- /* empty css */
2
+ /* empty css */
3
3
  import { createElementBlock, createElementVNode, createTextVNode, openBlock } from "vue";
4
4
  //#region src/components/RequestRejected.vue
5
5
  var _sfc_main = {};
@@ -1 +1 @@
1
- {"version":3,"file":"RequestRejected.vue.js","names":[],"sources":["../../src/components/RequestRejected.vue"],"sourcesContent":["<template>\n <div class=\"requestRejected\">\n <svg\n fill=\"currentColor\"\n height=\"16\"\n viewBox=\"0 0 256 256\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M56.88,31.93A12,12,0,1,0,39.12,48.07l7.81,8.59A108,108,0,0,0,31.85,177.23L21,209.66A20,20,0,0,0,46.34,235l32.43-10.81a108.08,108.08,0,0,0,112.55-8.66l7.8,8.58a12,12,0,0,0,17.76-16.14ZM128,212a83.91,83.91,0,0,1-42-11.27,12,12,0,0,0-9.82-1l-29.79,9.93,9.93-29.79a12,12,0,0,0-1-9.82,84,84,0,0,1,7.94-95.49l111.84,123A83.83,83.83,0,0,1,128,212Zm108-84a107.22,107.22,0,0,1-8.65,42.4A12,12,0,0,1,205.28,161a84.07,84.07,0,0,0-102.77-113,12,12,0,0,1-7.27-22.87A108.08,108.08,0,0,1,236,128Z\"></path>\n </svg>\n Request Rejected\n </div>\n</template>\n\n<style scoped>\n.requestRejected {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-red);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,kBAAiB;;qBAA5B,mBAWM,OAXN,YAWM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAVJ,mBAQM,OAAA;EAPJ,MAAK;EACL,QAAO;EACP,SAAQ;EACR,OAAM;EACN,OAAM;KACN,mBAC+e,QAAA,EAA7e,GAAE,oeAAme,CAAA,CAAA,GAAA,EAAA,GAAA,gBACne,sBAER,EAAA,CAAA,EAAA,CAAA"}
1
+ {"version":3,"file":"RequestRejected.vue.js","names":["_openBlock","_createElementBlock","_createElementVNode","_createTextVNode"],"sources":["../../src/components/RequestRejected.vue"],"sourcesContent":["<template>\n <div class=\"requestRejected\">\n <svg\n fill=\"currentColor\"\n height=\"16\"\n viewBox=\"0 0 256 256\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M56.88,31.93A12,12,0,1,0,39.12,48.07l7.81,8.59A108,108,0,0,0,31.85,177.23L21,209.66A20,20,0,0,0,46.34,235l32.43-10.81a108.08,108.08,0,0,0,112.55-8.66l7.8,8.58a12,12,0,0,0,17.76-16.14ZM128,212a83.91,83.91,0,0,1-42-11.27,12,12,0,0,0-9.82-1l-29.79,9.93,9.93-29.79a12,12,0,0,0-1-9.82,84,84,0,0,1,7.94-95.49l111.84,123A83.83,83.83,0,0,1,128,212Zm108-84a107.22,107.22,0,0,1-8.65,42.4A12,12,0,0,1,205.28,161a84.07,84.07,0,0,0-102.77-113,12,12,0,0,1-7.27-22.87A108.08,108.08,0,0,1,236,128Z\"></path>\n </svg>\n Request Rejected\n </div>\n</template>\n\n<style scoped>\n.requestRejected {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-red);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"mappings":";;;;;AACO,IAAA,aAAA,EAAA,OAAM,kBAAiB;;CAA5B,OAAAA,UAAA,GAAAC,mBAWM,OAXN,YAWM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAVJC,mBAQM,OAAA;EAPJ,MAAK;EACL,QAAO;EACP,SAAQ;EACR,OAAM;EACN,OAAM;C,IACNA,mBAC+e,QAAA,EAA7e,GAAE,oeAAme,CAAA,C,QACneC,gBAAA,sBAER,EAAA,C"}
@@ -1,5 +1,5 @@
1
1
  import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-helper.js";
2
- /* empty css */
2
+ /* empty css */
3
3
  import { createElementBlock, createStaticVNode, openBlock } from "vue";
4
4
  //#region src/components/RequestSuccess.vue
5
5
  var _sfc_main = {};
@@ -1 +1 @@
1
- {"version":3,"file":"RequestSuccess.vue.js","names":[],"sources":["../../src/components/RequestSuccess.vue"],"sourcesContent":["<template>\n <div class=\"requestSuccess\">\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <rect\n height=\"14.25\"\n rx=\"7.125\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <rect\n height=\"14.25\"\n rx=\"7.125\"\n stroke=\"currentColor\"\n stroke-width=\"1.75\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <g clip-path=\"url(#clip0_74_840)\">\n <path\n d=\"M11.6037 6.841L7.59117 10.8535C7.49742 10.9472 7.37029 10.9998 7.23774 10.9998C7.10519 10.9998 6.97806 10.9472 6.8843 10.8535L4.64617 8.6035C4.55257 8.50975 4.5 8.38269 4.5 8.25022C4.5 8.11774 4.55257 7.99068 4.64617 7.89694L5.27117 7.27194C5.36488 7.17862 5.49174 7.12623 5.62399 7.12623C5.75623 7.12623 5.88309 7.17862 5.9768 7.27194L7.25024 8.50694L10.274 5.52037C10.3677 5.42696 10.4946 5.37451 10.627 5.37451C10.7593 5.37451 10.8862 5.42696 10.9799 5.52037L11.6034 6.131C11.6502 6.17746 11.6875 6.23274 11.7129 6.29366C11.7383 6.35458 11.7514 6.41993 11.7514 6.48593C11.7514 6.55194 11.7384 6.6173 11.713 6.67824C11.6877 6.73918 11.6505 6.7945 11.6037 6.841Z\"\n fill=\"currentColor\" />\n </g>\n <defs>\n <clipPath id=\"clip0_74_840\">\n <rect\n height=\"8\"\n rx=\"4\"\n width=\"8\"\n x=\"4\"\n y=\"4\" />\n </clipPath>\n </defs>\n </svg>\n Request Succeeded\n </div>\n</template>\n\n<style scoped>\n.requestSuccess {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-1);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,iBAAgB;;qBAA3B,mBAsCM,OAtCN,YAsCM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAAA,kBAAA,wzCAAA,CAAA,CAAA,EAAA,CAAA"}
1
+ {"version":3,"file":"RequestSuccess.vue.js","names":["_openBlock","_createElementBlock","_createStaticVNode"],"sources":["../../src/components/RequestSuccess.vue"],"sourcesContent":["<template>\n <div class=\"requestSuccess\">\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <rect\n height=\"14.25\"\n rx=\"7.125\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <rect\n height=\"14.25\"\n rx=\"7.125\"\n stroke=\"currentColor\"\n stroke-width=\"1.75\"\n width=\"14.25\"\n x=\"0.875\"\n y=\"0.875\" />\n <g clip-path=\"url(#clip0_74_840)\">\n <path\n d=\"M11.6037 6.841L7.59117 10.8535C7.49742 10.9472 7.37029 10.9998 7.23774 10.9998C7.10519 10.9998 6.97806 10.9472 6.8843 10.8535L4.64617 8.6035C4.55257 8.50975 4.5 8.38269 4.5 8.25022C4.5 8.11774 4.55257 7.99068 4.64617 7.89694L5.27117 7.27194C5.36488 7.17862 5.49174 7.12623 5.62399 7.12623C5.75623 7.12623 5.88309 7.17862 5.9768 7.27194L7.25024 8.50694L10.274 5.52037C10.3677 5.42696 10.4946 5.37451 10.627 5.37451C10.7593 5.37451 10.8862 5.42696 10.9799 5.52037L11.6034 6.131C11.6502 6.17746 11.6875 6.23274 11.7129 6.29366C11.7383 6.35458 11.7514 6.41993 11.7514 6.48593C11.7514 6.55194 11.7384 6.6173 11.713 6.67824C11.6877 6.73918 11.6505 6.7945 11.6037 6.841Z\"\n fill=\"currentColor\" />\n </g>\n <defs>\n <clipPath id=\"clip0_74_840\">\n <rect\n height=\"8\"\n rx=\"4\"\n width=\"8\"\n x=\"4\"\n y=\"4\" />\n </clipPath>\n </defs>\n </svg>\n Request Succeeded\n </div>\n</template>\n\n<style scoped>\n.requestSuccess {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-1);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n</style>\n"],"mappings":";;;;;AACO,IAAA,aAAA,EAAA,OAAM,iBAAgB;;CAA3B,OAAAA,UAAA,GAAAC,mBAsCM,OAtCN,YAsCM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,C"}
@@ -1,5 +1,5 @@
1
- import { type MediaConfig } from '../../components/ResponseBody/helpers/media-types.js';
2
- import type { MimeType } from '../../types/mime-type';
1
+ import { type MediaConfig } from './helpers/media-types.js';
2
+ import type { MimeType } from '../../types/mime-type.js';
3
3
  type __VLS_Props = {
4
4
  data: unknown;
5
5
  responseBody: {
@@ -1,4 +1,4 @@
1
- import ResponseBody_vue_vue_type_script_setup_true_lang_default from "./ResponseBody.vue.script.js";
1
+ import ResponseBody_vue_vue_type_script_setup_true_lang_default from "./ResponseBody.vue_vue_type_script_setup_true_lang.js";
2
2
  //#region src/components/ResponseBody/ResponseBody.vue
3
3
  var ResponseBody_default = ResponseBody_vue_vue_type_script_setup_true_lang_default;
4
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseBody.vue.js","names":[],"sources":["../../../src/components/ResponseBody/ResponseBody.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { type MediaConfig } from '@/components/ResponseBody/helpers/media-types'\nimport ResponseBodyInfo from '@/components/ResponseBody/ResponseBodyInfo.vue'\nimport ResponseBodyPreview from '@/components/ResponseBody/ResponseBodyPreview.vue'\nimport ResponseBodyRaw from '@/components/ResponseBody/ResponseBodyRaw.vue'\nimport type { MimeType } from '@/types/mime-type'\n\nconst { data, responseBody, mediaConfig, display } = defineProps<{\n data: unknown\n responseBody: {\n mimeType?: MimeType\n attachmentFilename: string\n dataUrl: string\n }\n mediaConfig?: MediaConfig\n display?: 'preview' | 'raw'\n}>()\n</script>\n\n<template>\n <ResponseBodyRaw\n v-if=\"mediaConfig?.raw && display === 'raw' && mediaConfig.language\"\n :key=\"responseBody.dataUrl\"\n :content=\"data\"\n :language=\"mediaConfig.language\" />\n <ResponseBodyPreview\n v-if=\"mediaConfig?.preview && display === 'preview'\"\n :key=\"responseBody.dataUrl\"\n :alpha=\"mediaConfig.alpha\"\n :mode=\"mediaConfig.preview\"\n :src=\"responseBody.dataUrl\"\n :type=\"responseBody.mimeType?.essence ?? ''\" />\n <ResponseBodyInfo v-if=\"!mediaConfig?.raw && !mediaConfig?.preview\">\n Binary file\n </ResponseBodyInfo>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"ResponseBody.vue.js","names":["_sfc_main"],"sources":["../../../src/components/ResponseBody/ResponseBody.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { type MediaConfig } from '@/components/ResponseBody/helpers/media-types'\nimport ResponseBodyInfo from '@/components/ResponseBody/ResponseBodyInfo.vue'\nimport ResponseBodyPreview from '@/components/ResponseBody/ResponseBodyPreview.vue'\nimport ResponseBodyRaw from '@/components/ResponseBody/ResponseBodyRaw.vue'\nimport type { MimeType } from '@/types/mime-type'\n\nconst { data, responseBody, mediaConfig, display } = defineProps<{\n data: unknown\n responseBody: {\n mimeType?: MimeType\n attachmentFilename: string\n dataUrl: string\n }\n mediaConfig?: MediaConfig\n display?: 'preview' | 'raw'\n}>()\n</script>\n\n<template>\n <ResponseBodyRaw\n v-if=\"mediaConfig?.raw && display === 'raw' && mediaConfig.language\"\n :key=\"responseBody.dataUrl\"\n :content=\"data\"\n :language=\"mediaConfig.language\" />\n <ResponseBodyPreview\n v-if=\"mediaConfig?.preview && display === 'preview'\"\n :key=\"responseBody.dataUrl\"\n :alpha=\"mediaConfig.alpha\"\n :mode=\"mediaConfig.preview\"\n :src=\"responseBody.dataUrl\"\n :type=\"responseBody.mimeType?.essence ?? ''\" />\n <ResponseBodyInfo v-if=\"!mediaConfig?.raw && !mediaConfig?.preview\">\n Binary file\n </ResponseBodyInfo>\n</template>\n"],"mappings":""}
@@ -42,4 +42,4 @@ var ResponseBody_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
42
42
  //#endregion
43
43
  export { ResponseBody_vue_vue_type_script_setup_true_lang_default as default };
44
44
 
45
- //# sourceMappingURL=ResponseBody.vue.script.js.map
45
+ //# sourceMappingURL=ResponseBody.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBody.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_createBlock","ResponseBodyRaw","_createCommentVNode","ResponseBodyPreview","ResponseBodyInfo","_withCtx","_createTextVNode"],"sources":["../../../src/components/ResponseBody/ResponseBody.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { type MediaConfig } from '@/components/ResponseBody/helpers/media-types'\nimport ResponseBodyInfo from '@/components/ResponseBody/ResponseBodyInfo.vue'\nimport ResponseBodyPreview from '@/components/ResponseBody/ResponseBodyPreview.vue'\nimport ResponseBodyRaw from '@/components/ResponseBody/ResponseBodyRaw.vue'\nimport type { MimeType } from '@/types/mime-type'\n\nconst { data, responseBody, mediaConfig, display } = defineProps<{\n data: unknown\n responseBody: {\n mimeType?: MimeType\n attachmentFilename: string\n dataUrl: string\n }\n mediaConfig?: MediaConfig\n display?: 'preview' | 'raw'\n}>()\n</script>\n\n<template>\n <ResponseBodyRaw\n v-if=\"mediaConfig?.raw && display === 'raw' && mediaConfig.language\"\n :key=\"responseBody.dataUrl\"\n :content=\"data\"\n :language=\"mediaConfig.language\" />\n <ResponseBodyPreview\n v-if=\"mediaConfig?.preview && display === 'preview'\"\n :key=\"responseBody.dataUrl\"\n :alpha=\"mediaConfig.alpha\"\n :mode=\"mediaConfig.preview\"\n :src=\"responseBody.dataUrl\"\n :type=\"responseBody.mimeType?.essence ?? ''\" />\n <ResponseBodyInfo v-if=\"!mediaConfig?.raw && !mediaConfig?.preview\">\n Binary file\n </ResponseBodyInfo>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;IAqBU,QAAA,aAAa,OAAO,QAAA,YAAO,SAAc,QAAA,YAAY,YAD7DA,UAAA,GAAAG,YAIqCC,yBAAA;KAFlC,KAAK,QAAA,aAAa;KAClB,SAAS,QAAA;KACT,UAAU,QAAA,YAAY;;IAEjB,QAAA,aAAa,WAAW,QAAA,YAAO,aADvCJ,UAAA,GAAAG,YAMiDG,6BAAA;KAJ9C,KAAK,QAAA,aAAa;KAClB,OAAO,QAAA,YAAY;KACnB,MAAM,QAAA,YAAY;KAClB,KAAK,QAAA,aAAa;KAClB,MAAM,QAAA,aAAa,UAAU,WAAO;;;;;;;IACd,CAAA,QAAA,aAAa,OAAG,CAAK,QAAA,aAAa,WAA3DN,UAAA,GAAAG,YAEmBI,0BAAA,EAAA,KAAA,EAAA,GAAA;KAFiD,SAAAC,cAEpE,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAFoEC,gBAAA,iBAEpE,EAAA,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseBodyInfo.vue.js","names":[],"sources":["../../../src/components/ResponseBody/ResponseBodyInfo.vue"],"sourcesContent":["<template>\n <div class=\"flex justify-center px-2 py-3\">\n <div class=\"text-c-3 p-2 text-sm\"><slot /></div>\n </div>\n</template>\n"],"mappings":";;;;mBACO,OAAM,gCAA+B;mBACnC,OAAM,uBAAsB;;qBADnC,mBAEM,OAFN,YAEM,CADJ,mBAAgD,OAAhD,YAAgD,CAAd,WAAQ,KAAA,QAAA,SAAA,CAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"ResponseBodyInfo.vue.js","names":["_openBlock","_createElementBlock","_createElementVNode","_renderSlot"],"sources":["../../../src/components/ResponseBody/ResponseBodyInfo.vue"],"sourcesContent":["<template>\n <div class=\"flex justify-center px-2 py-3\">\n <div class=\"text-c-3 p-2 text-sm\"><slot /></div>\n </div>\n</template>\n"],"mappings":";;;;AACO,IAAA,aAAA,EAAA,OAAM,gCAA+B;AACnC,IAAA,aAAA,EAAA,OAAM,uBAAsB;;CADnC,OAAAA,UAAA,GAAAC,mBAEM,OAFN,YAEM,CADJC,mBAAgD,OAAhD,YAAgD,CAAdC,WAAQ,KAAA,QAAA,SAAA,C"}
@@ -1,4 +1,4 @@
1
- import { type MediaPreview } from '../../components/ResponseBody/helpers/media-types.js';
1
+ import { type MediaPreview } from './helpers/media-types.js';
2
2
  type __VLS_Props = {
3
3
  src: string;
4
4
  type: string;
@@ -1,6 +1,6 @@
1
1
  import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.js";
2
- import ResponseBodyPreview_vue_vue_type_script_setup_true_lang_default from "./ResponseBodyPreview.vue.script.js";
3
- /* empty css */
2
+ import ResponseBodyPreview_vue_vue_type_script_setup_true_lang_default from "./ResponseBodyPreview.vue_vue_type_script_setup_true_lang.js";
3
+ /* empty css */
4
4
  //#region src/components/ResponseBody/ResponseBodyPreview.vue
5
5
  var ResponseBodyPreview_default = /*#__PURE__*/ _plugin_vue_export_helper_default(ResponseBodyPreview_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-92f84612"]]);
6
6
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseBodyPreview.vue.js","names":[],"sources":["../../../src/components/ResponseBody/ResponseBodyPreview.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref, watch } from 'vue'\n\nimport { type MediaPreview } from '@/components/ResponseBody/helpers/media-types'\nimport ResponseBodyInfo from '@/components/ResponseBody/ResponseBodyInfo.vue'\n\nconst {\n src,\n type,\n mode,\n alpha = false,\n} = defineProps<{\n src: string\n type: string\n mode: MediaPreview\n alpha?: boolean | undefined\n}>()\n\nconst error = ref(false)\n\nwatch(\n () => src,\n () => {\n error.value = false\n },\n)\n</script>\n<template>\n <div\n v-if=\"!error && src\"\n class=\"flex justify-center overflow-auto rounded-b\"\n :class=\"{ 'bg-preview p-2': alpha }\">\n <img\n v-if=\"mode === 'image'\"\n class=\"h-full max-w-full\"\n :class=\"{ rounded: alpha }\"\n :src=\"src\"\n @error=\"error = true\" />\n <video\n v-else-if=\"mode === 'video'\"\n autoplay\n controls\n width=\"100%\"\n @error=\"error = true\">\n <source\n :src=\"src\"\n :type=\"type\" />\n </video>\n <audio\n v-else-if=\"mode === 'audio'\"\n class=\"my-12\"\n controls\n @error=\"error = true\">\n <source\n :src=\"src\"\n :type=\"type\" />\n </audio>\n <object\n v-else\n class=\"aspect-[4/3] w-full\"\n :data=\"src\"\n :type=\"type\"\n @error=\"error = true\" />\n </div>\n <ResponseBodyInfo v-else>Preview unavailable</ResponseBodyInfo>\n</template>\n<style scoped>\n.light-mode .bg-preview {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23000' fill-opacity='10%25'%3E%3Crect width='8' height='8' /%3E%3Crect x='8' y='8' width='8' height='8' /%3E%3C/svg%3E\");\n}\n.dark-mode .bg-preview {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23FFF' fill-opacity='10%25'%3E%3Crect width='8' height='8' /%3E%3Crect x='8' y='8' width='8' height='8' /%3E%3C/svg%3E\");\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"ResponseBodyPreview.vue.js","names":["_sfc_main"],"sources":["../../../src/components/ResponseBody/ResponseBodyPreview.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref, watch } from 'vue'\n\nimport { type MediaPreview } from '@/components/ResponseBody/helpers/media-types'\nimport ResponseBodyInfo from '@/components/ResponseBody/ResponseBodyInfo.vue'\n\nconst {\n src,\n type,\n mode,\n alpha = false,\n} = defineProps<{\n src: string\n type: string\n mode: MediaPreview\n alpha?: boolean | undefined\n}>()\n\nconst error = ref(false)\n\nwatch(\n () => src,\n () => {\n error.value = false\n },\n)\n</script>\n<template>\n <div\n v-if=\"!error && src\"\n class=\"flex justify-center overflow-auto rounded-b\"\n :class=\"{ 'bg-preview p-2': alpha }\">\n <img\n v-if=\"mode === 'image'\"\n class=\"h-full max-w-full\"\n :class=\"{ rounded: alpha }\"\n :src=\"src\"\n @error=\"error = true\" />\n <video\n v-else-if=\"mode === 'video'\"\n autoplay\n controls\n width=\"100%\"\n @error=\"error = true\">\n <source\n :src=\"src\"\n :type=\"type\" />\n </video>\n <audio\n v-else-if=\"mode === 'audio'\"\n class=\"my-12\"\n controls\n @error=\"error = true\">\n <source\n :src=\"src\"\n :type=\"type\" />\n </audio>\n <object\n v-else\n class=\"aspect-[4/3] w-full\"\n :data=\"src\"\n :type=\"type\"\n @error=\"error = true\" />\n </div>\n <ResponseBodyInfo v-else>Preview unavailable</ResponseBodyInfo>\n</template>\n<style scoped>\n.light-mode .bg-preview {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23000' fill-opacity='10%25'%3E%3Crect width='8' height='8' /%3E%3Crect x='8' y='8' width='8' height='8' /%3E%3C/svg%3E\");\n}\n.dark-mode .bg-preview {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23FFF' fill-opacity='10%25'%3E%3Crect width='8' height='8' /%3E%3Crect x='8' y='8' width='8' height='8' /%3E%3C/svg%3E\");\n}\n</style>\n"],"mappings":""}
@@ -63,4 +63,4 @@ var ResponseBodyPreview_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
63
63
  //#endregion
64
64
  export { ResponseBodyPreview_vue_vue_type_script_setup_true_lang_default as default };
65
65
 
66
- //# sourceMappingURL=ResponseBodyPreview.vue.script.js.map
66
+ //# sourceMappingURL=ResponseBodyPreview.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyPreview.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_createBlock","ResponseBodyInfo","_withCtx","_createTextVNode"],"sources":["../../../src/components/ResponseBody/ResponseBodyPreview.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ref, watch } from 'vue'\n\nimport { type MediaPreview } from '@/components/ResponseBody/helpers/media-types'\nimport ResponseBodyInfo from '@/components/ResponseBody/ResponseBodyInfo.vue'\n\nconst {\n src,\n type,\n mode,\n alpha = false,\n} = defineProps<{\n src: string\n type: string\n mode: MediaPreview\n alpha?: boolean | undefined\n}>()\n\nconst error = ref(false)\n\nwatch(\n () => src,\n () => {\n error.value = false\n },\n)\n</script>\n<template>\n <div\n v-if=\"!error && src\"\n class=\"flex justify-center overflow-auto rounded-b\"\n :class=\"{ 'bg-preview p-2': alpha }\">\n <img\n v-if=\"mode === 'image'\"\n class=\"h-full max-w-full\"\n :class=\"{ rounded: alpha }\"\n :src=\"src\"\n @error=\"error = true\" />\n <video\n v-else-if=\"mode === 'video'\"\n autoplay\n controls\n width=\"100%\"\n @error=\"error = true\">\n <source\n :src=\"src\"\n :type=\"type\" />\n </video>\n <audio\n v-else-if=\"mode === 'audio'\"\n class=\"my-12\"\n controls\n @error=\"error = true\">\n <source\n :src=\"src\"\n :type=\"type\" />\n </audio>\n <object\n v-else\n class=\"aspect-[4/3] w-full\"\n :data=\"src\"\n :type=\"type\"\n @error=\"error = true\" />\n </div>\n <ResponseBodyInfo v-else>Preview unavailable</ResponseBodyInfo>\n</template>\n<style scoped>\n.light-mode .bg-preview {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23000' fill-opacity='10%25'%3E%3Crect width='8' height='8' /%3E%3Crect x='8' y='8' width='8' height='8' /%3E%3C/svg%3E\");\n}\n.dark-mode .bg-preview {\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23FFF' fill-opacity='10%25'%3E%3Crect width='8' height='8' /%3E%3Crect x='8' y='8' width='8' height='8' /%3E%3C/svg%3E\");\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAkBA,MAAM,QAAQ,IAAI,KAAK;EAEvB,YACQ,QAAA,WACA;GACJ,MAAM,QAAQ;EAChB,CACF;;GAIW,OAAA,CAAA,MAAA,SAAS,QAAA,OADlBA,UAAA,GAAAC,mBAmCM,OAAA;;IAjCJ,OAAKC,eAAA,CAAC,+CAA6C,EAAA,kBACvB,QAAA,MAAK,CAAA,CAAA;G,IAEzB,QAAA,SAAI,WADZF,UAAA,GAAAC,mBAK0B,OAAA;;IAHxB,OAAKC,eAAA,CAAC,qBAAmB,EAAA,SACN,QAAA,MAAK,CAAA,CAAA;IACvB,KAAK,QAAA;IACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,QAAK;G,4BAEF,QAAA,SAAI,WADjBF,UAAA,GAAAC,mBASQ,SAAA;;IAPN,UAAA;IACA,UAAA;IACA,OAAM;IACL,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,QAAK;G,IACbE,mBAEiB,UAAA;IADd,KAAK,QAAA;IACL,MAAM,QAAA;G,iCAGE,QAAA,SAAI,WADjBH,UAAA,GAAAC,mBAQQ,SAAA;;IANN,OAAM;IACN,UAAA;IACC,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,QAAK;G,IACbE,mBAEiB,UAAA;IADd,KAAK,QAAA;IACL,MAAM,QAAA;G,kCAEXH,UAAA,GAAAC,mBAK0B,UAAA;;IAHxB,OAAM;IACL,MAAM,QAAA;IACN,MAAM,QAAA;IACN,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,MAAA,QAAK;G,mCAEjBD,UAAA,GAAAI,YAA+DC,0BAAA,EAAA,KAAA,EAAA,GAAA;IAAtC,SAAAC,cAAmB,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAAnBC,gBAAA,uBAAmB,EAAA,C"}
@@ -1,4 +1,4 @@
1
- import ResponseBodyRaw_vue_vue_type_script_setup_true_lang_default from "./ResponseBodyRaw.vue.script.js";
1
+ import ResponseBodyRaw_vue_vue_type_script_setup_true_lang_default from "./ResponseBodyRaw.vue_vue_type_script_setup_true_lang.js";
2
2
  //#region src/components/ResponseBody/ResponseBodyRaw.vue
3
3
  var ResponseBodyRaw_default = ResponseBodyRaw_vue_vue_type_script_setup_true_lang_default;
4
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseBodyRaw.vue.js","names":[],"sources":["../../../src/components/ResponseBody/ResponseBodyRaw.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ScalarCodeBlock } from '@scalar/components/code-block'\n\nconst props = defineProps<{\n content: any\n language: string\n}>()\n</script>\n\n<template>\n <ScalarCodeBlock\n class=\"codeBlock\"\n :content=\"props.content\"\n :lang=\"language\" />\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"ResponseBodyRaw.vue.js","names":["_sfc_main"],"sources":["../../../src/components/ResponseBody/ResponseBodyRaw.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ScalarCodeBlock } from '@scalar/components/code-block'\n\nconst props = defineProps<{\n content: any\n language: string\n}>()\n</script>\n\n<template>\n <ScalarCodeBlock\n class=\"codeBlock\"\n :content=\"props.content\"\n :lang=\"language\" />\n</template>\n"],"mappings":""}
@@ -21,4 +21,4 @@ var ResponseBodyRaw_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/
21
21
  //#endregion
22
22
  export { ResponseBodyRaw_vue_vue_type_script_setup_true_lang_default as default };
23
23
 
24
- //# sourceMappingURL=ResponseBodyRaw.vue.script.js.map
24
+ //# sourceMappingURL=ResponseBodyRaw.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyRaw.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_unref"],"sources":["../../../src/components/ResponseBody/ResponseBodyRaw.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ScalarCodeBlock } from '@scalar/components/code-block'\n\nconst props = defineProps<{\n content: any\n language: string\n}>()\n</script>\n\n<template>\n <ScalarCodeBlock\n class=\"codeBlock\"\n :content=\"props.content\"\n :lang=\"language\" />\n</template>\n"],"mappings":";;;;;;;;;;EAGA,MAAM,QAAQ;;GAOZ,OAAAA,UAAA,GAAAC,YAGqBC,MAAA,eAAA,GAAA;IAFnB,OAAM;IACL,SAAS,MAAM;IACf,MAAM,QAAA"}
@@ -1,4 +1,4 @@
1
- import ResponseBodyToggle_vue_vue_type_script_setup_true_lang_default from "./ResponseBodyToggle.vue.script.js";
1
+ import ResponseBodyToggle_vue_vue_type_script_setup_true_lang_default from "./ResponseBodyToggle.vue_vue_type_script_setup_true_lang.js";
2
2
  //#region src/components/ResponseBody/ResponseBodyToggle.vue
3
3
  var ResponseBodyToggle_default = ResponseBodyToggle_vue_vue_type_script_setup_true_lang_default;
4
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ResponseBodyToggle.vue.js","names":[],"sources":["../../../src/components/ResponseBody/ResponseBodyToggle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\ndefineProps<{\n modelValue?: 'preview' | 'raw'\n}>()\n\nconst emit = defineEmits<{\n (e: 'toggle', v: 'preview' | 'raw'): void\n}>()\n</script>\n<template>\n <div\n class=\"text-c-3 text-xxs -my-1 flex justify-center gap-0.5 rounded p-0.5\">\n <button\n class=\"hover:bg-b-3 rounded px-1\"\n :class=\"{ 'bg-b-3 text-c-1 cursor-default': modelValue === 'preview' }\"\n type=\"button\"\n @click.stop=\"emit('toggle', 'preview')\">\n Preview\n </button>\n <button\n class=\"hover:bg-b-3 rounded px-1\"\n :class=\"{ 'bg-b-3 text-c-1 cursor-default': modelValue === 'raw' }\"\n type=\"button\"\n @click.stop=\"emit('toggle', 'raw')\">\n Raw\n </button>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"ResponseBodyToggle.vue.js","names":["_sfc_main"],"sources":["../../../src/components/ResponseBody/ResponseBodyToggle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\ndefineProps<{\n modelValue?: 'preview' | 'raw'\n}>()\n\nconst emit = defineEmits<{\n (e: 'toggle', v: 'preview' | 'raw'): void\n}>()\n</script>\n<template>\n <div\n class=\"text-c-3 text-xxs -my-1 flex justify-center gap-0.5 rounded p-0.5\">\n <button\n class=\"hover:bg-b-3 rounded px-1\"\n :class=\"{ 'bg-b-3 text-c-1 cursor-default': modelValue === 'preview' }\"\n type=\"button\"\n @click.stop=\"emit('toggle', 'preview')\">\n Preview\n </button>\n <button\n class=\"hover:bg-b-3 rounded px-1\"\n :class=\"{ 'bg-b-3 text-c-1 cursor-default': modelValue === 'raw' }\"\n type=\"button\"\n @click.stop=\"emit('toggle', 'raw')\">\n Raw\n </button>\n </div>\n</template>\n"],"mappings":""}
@@ -23,4 +23,4 @@ var ResponseBodyToggle_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
23
23
  //#endregion
24
24
  export { ResponseBodyToggle_vue_vue_type_script_setup_true_lang_default as default };
25
25
 
26
- //# sourceMappingURL=ResponseBodyToggle.vue.script.js.map
26
+ //# sourceMappingURL=ResponseBodyToggle.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseBodyToggle.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_createElementVNode","_normalizeClass","_withModifiers"],"sources":["../../../src/components/ResponseBody/ResponseBodyToggle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\ndefineProps<{\n modelValue?: 'preview' | 'raw'\n}>()\n\nconst emit = defineEmits<{\n (e: 'toggle', v: 'preview' | 'raw'): void\n}>()\n</script>\n<template>\n <div\n class=\"text-c-3 text-xxs -my-1 flex justify-center gap-0.5 rounded p-0.5\">\n <button\n class=\"hover:bg-b-3 rounded px-1\"\n :class=\"{ 'bg-b-3 text-c-1 cursor-default': modelValue === 'preview' }\"\n type=\"button\"\n @click.stop=\"emit('toggle', 'preview')\">\n Preview\n </button>\n <button\n class=\"hover:bg-b-3 rounded px-1\"\n :class=\"{ 'bg-b-3 text-c-1 cursor-default': modelValue === 'raw' }\"\n type=\"button\"\n @click.stop=\"emit('toggle', 'raw')\">\n Raw\n </button>\n </div>\n</template>\n"],"mappings":";;;;;;;;EAKA,MAAM,OAAO;;GAKX,OAAAA,UAAA,GAAAC,mBAgBM,OAhBN,YAgBM,CAdJC,mBAMS,UAAA;IALP,OAAKC,eAAA,CAAC,6BAA2B,EAAA,kCACW,QAAA,eAAU,UAAA,CAAA,CAAA;IACtD,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,KAAAC,eAAA,WAAO,KAAI,UAAA,SAAA,GAAA,CAAA,MAAA,CAAA;GAAuB,GAAA,aAE1C,CAAA,GACAF,mBAMS,UAAA;IALP,OAAKC,eAAA,CAAC,6BAA2B,EAAA,kCACW,QAAA,eAAU,MAAA,CAAA,CAAA;IACtD,MAAK;IACJ,SAAK,OAAA,OAAA,OAAA,KAAAC,eAAA,WAAO,KAAI,UAAA,KAAA,GAAA,CAAA,MAAA,CAAA;GAAmB,GAAA,SAEtC,CAAA,C"}
@@ -1,6 +1,6 @@
1
1
  import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-helper.js";
2
- import SearchPopover_vue_vue_type_script_setup_true_lang_default from "./SearchPopover.vue.script.js";
3
- /* empty css */
2
+ import SearchPopover_vue_vue_type_script_setup_true_lang_default from "./SearchPopover.vue_vue_type_script_setup_true_lang.js";
3
+ /* empty css */
4
4
  //#region src/components/SearchPopover.vue
5
5
  var SearchPopover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(SearchPopover_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-3e0405c7"]]);
6
6
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"SearchPopover.vue.js","names":[],"sources":["../../src/components/SearchPopover.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarPopover } from '@scalar/components/popover'\nimport { ScalarTextInput } from '@scalar/components/text-input'\nimport { ScalarIconMagnifyingGlass } from '@scalar/icons'\nimport { computed } from 'vue'\n\nimport { useSearch } from '@/hooks/use-search'\nimport { useState } from '@/state/state'\n\nconst state = useState()\n\nconst search = useSearch()\n\nconst searchOptions = computed(() =>\n search.results.value\n .filter(\n (r) =>\n !state.registryDocuments.value.some(\n (d) => d.namespace === r.namespace && d.slug === r.slug,\n ),\n )\n .map((result) => ({\n ...result,\n label: result.title,\n id: result.id,\n })),\n)\n</script>\n\n<template>\n <ScalarPopover\n :offset=\"0\"\n placement=\"top-start\"\n resize\n style=\"width: 220px\">\n <slot />\n <template #popover=\"{ close }\">\n <ScalarTextInput\n autofocus\n class=\"searchInput\"\n :modelValue=\"search.query.value\"\n placeholder=\"Add an API\"\n @update:modelValue=\"(v) => (search.query.value = v ?? '')\">\n <template #prefix>\n <ScalarIconMagnifyingGlass class=\"searchIcon\" />\n </template>\n </ScalarTextInput>\n\n <template v-if=\"searchOptions.length\">\n <button\n v-for=\"option in searchOptions\"\n :key=\"option.id\"\n class=\"searchItem\"\n type=\"button\"\n @click=\"\n () => {\n state.addDocument(option)\n close()\n }\n \">\n <img\n v-if=\"option.logoUrl\"\n class=\"searchItemLogo\"\n :src=\"option.logoUrl\" />\n <span>{{ option.title }}</span>\n </button>\n </template>\n\n <span\n v-else\n class=\"searchResultsEmpty\">\n No APIs found\n </span>\n </template>\n </ScalarPopover>\n</template>\n\n<style scoped>\n.searchItem {\n display: flex;\n align-items: center;\n gap: 9px;\n padding: 8px 10px;\n font-size: var(--scalar-font-size-3);\n}\n\n.searchInput {\n margin-bottom: 5px;\n}\n\n.searchItem:hover {\n background: var(--scalar-background-2);\n}\n\n.searchItemLogo {\n width: 15px;\n}\n\n.searchIcon {\n margin-right: 7px;\n}\n\n.searchResultsEmpty {\n font-size: var(--scalar-font-size-3);\n color: var(--scalar-color-2);\n margin: 10px;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"SearchPopover.vue.js","names":["_sfc_main"],"sources":["../../src/components/SearchPopover.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarPopover } from '@scalar/components/popover'\nimport { ScalarTextInput } from '@scalar/components/text-input'\nimport { ScalarIconMagnifyingGlass } from '@scalar/icons'\nimport { computed } from 'vue'\n\nimport { useSearch } from '@/hooks/use-search'\nimport { useState } from '@/state/state'\n\nconst state = useState()\n\nconst search = useSearch()\n\nconst searchOptions = computed(() =>\n search.results.value\n .filter(\n (r) =>\n !state.registryDocuments.value.some(\n (d) => d.namespace === r.namespace && d.slug === r.slug,\n ),\n )\n .map((result) => ({\n ...result,\n label: result.title,\n id: result.id,\n })),\n)\n</script>\n\n<template>\n <ScalarPopover\n :offset=\"0\"\n placement=\"top-start\"\n resize\n style=\"width: 220px\">\n <slot />\n <template #popover=\"{ close }\">\n <ScalarTextInput\n autofocus\n class=\"searchInput\"\n :modelValue=\"search.query.value\"\n placeholder=\"Add an API\"\n @update:modelValue=\"(v) => (search.query.value = v ?? '')\">\n <template #prefix>\n <ScalarIconMagnifyingGlass class=\"searchIcon\" />\n </template>\n </ScalarTextInput>\n\n <template v-if=\"searchOptions.length\">\n <button\n v-for=\"option in searchOptions\"\n :key=\"option.id\"\n class=\"searchItem\"\n type=\"button\"\n @click=\"\n () => {\n state.addDocument(option)\n close()\n }\n \">\n <img\n v-if=\"option.logoUrl\"\n class=\"searchItemLogo\"\n :src=\"option.logoUrl\" />\n <span>{{ option.title }}</span>\n </button>\n </template>\n\n <span\n v-else\n class=\"searchResultsEmpty\">\n No APIs found\n </span>\n </template>\n </ScalarPopover>\n</template>\n\n<style scoped>\n.searchItem {\n display: flex;\n align-items: center;\n gap: 9px;\n padding: 8px 10px;\n font-size: var(--scalar-font-size-3);\n}\n\n.searchInput {\n margin-bottom: 5px;\n}\n\n.searchItem:hover {\n background: var(--scalar-background-2);\n}\n\n.searchItemLogo {\n width: 15px;\n}\n\n.searchIcon {\n margin-right: 7px;\n}\n\n.searchResultsEmpty {\n font-size: var(--scalar-font-size-3);\n color: var(--scalar-color-2);\n margin: 10px;\n}\n</style>\n"],"mappings":""}
@@ -61,4 +61,4 @@ var SearchPopover_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
61
61
  //#endregion
62
62
  export { SearchPopover_vue_vue_type_script_setup_true_lang_default as default };
63
63
 
64
- //# sourceMappingURL=SearchPopover.vue.script.js.map
64
+ //# sourceMappingURL=SearchPopover.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchPopover.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_unref","_withCtx","_createVNode","_createElementBlock","_Fragment","_renderList","_createCommentVNode","_createElementVNode","_toDisplayString","_renderSlot"],"sources":["../../src/components/SearchPopover.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarPopover } from '@scalar/components/popover'\nimport { ScalarTextInput } from '@scalar/components/text-input'\nimport { ScalarIconMagnifyingGlass } from '@scalar/icons'\nimport { computed } from 'vue'\n\nimport { useSearch } from '@/hooks/use-search'\nimport { useState } from '@/state/state'\n\nconst state = useState()\n\nconst search = useSearch()\n\nconst searchOptions = computed(() =>\n search.results.value\n .filter(\n (r) =>\n !state.registryDocuments.value.some(\n (d) => d.namespace === r.namespace && d.slug === r.slug,\n ),\n )\n .map((result) => ({\n ...result,\n label: result.title,\n id: result.id,\n })),\n)\n</script>\n\n<template>\n <ScalarPopover\n :offset=\"0\"\n placement=\"top-start\"\n resize\n style=\"width: 220px\">\n <slot />\n <template #popover=\"{ close }\">\n <ScalarTextInput\n autofocus\n class=\"searchInput\"\n :modelValue=\"search.query.value\"\n placeholder=\"Add an API\"\n @update:modelValue=\"(v) => (search.query.value = v ?? '')\">\n <template #prefix>\n <ScalarIconMagnifyingGlass class=\"searchIcon\" />\n </template>\n </ScalarTextInput>\n\n <template v-if=\"searchOptions.length\">\n <button\n v-for=\"option in searchOptions\"\n :key=\"option.id\"\n class=\"searchItem\"\n type=\"button\"\n @click=\"\n () => {\n state.addDocument(option)\n close()\n }\n \">\n <img\n v-if=\"option.logoUrl\"\n class=\"searchItemLogo\"\n :src=\"option.logoUrl\" />\n <span>{{ option.title }}</span>\n </button>\n </template>\n\n <span\n v-else\n class=\"searchResultsEmpty\">\n No APIs found\n </span>\n </template>\n </ScalarPopover>\n</template>\n\n<style scoped>\n.searchItem {\n display: flex;\n align-items: center;\n gap: 9px;\n padding: 8px 10px;\n font-size: var(--scalar-font-size-3);\n}\n\n.searchInput {\n margin-bottom: 5px;\n}\n\n.searchItem:hover {\n background: var(--scalar-background-2);\n}\n\n.searchItemLogo {\n width: 15px;\n}\n\n.searchIcon {\n margin-right: 7px;\n}\n\n.searchResultsEmpty {\n font-size: var(--scalar-font-size-3);\n color: var(--scalar-color-2);\n margin: 10px;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;EASA,MAAM,QAAQ,SAAS;EAEvB,MAAM,SAAS,UAAU;EAEzB,MAAM,gBAAgB,eACpB,OAAO,QAAQ,MACZ,QACE,MACC,CAAC,MAAM,kBAAkB,MAAM,MAC5B,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,IACrD,CACJ,CAAA,CACC,KAAK,YAAY;GAChB,GAAG;GACH,OAAO,OAAO;GACd,IAAI,OAAO;EACb,EAAE,CACN;;GAIE,OAAAA,UAAA,GAAAC,YA4CgBC,MAAA,aAAA,GAAA;IA3Cb,QAAQ;IACT,WAAU;IACV,QAAA;IACA,OAAA,EAAA,SAAA,QAAA;;IAEW,SAAOC,SAUE,EAVE,YAAK,CACzBC,YASkBF,MAAA,eAAA,GAAA;KARhB,WAAA;KACA,OAAM;KACL,YAAYA,MAAA,MAAA,CAAM,CAAC,MAAM;KAC1B,aAAY;KACX,uBAAiB,OAAA,OAAA,OAAA,MAAG,MAAO,MAAA,MAAA,CAAM,CAAC,MAAM,QAAQ,KAAC;;KACvC,QAAMC,cACiC,CAAhDC,YAAgDF,MAAA,yBAAA,GAAA,EAArB,OAAM,aAAY,CAAA,C;;I,uBAIjC,cAAA,MAAc,UAC5BF,UAAA,IAAA,GAAAK,mBAgBSC,UAAA,EAAA,KAAA,EAAA,GAAAC,WAfU,cAAA,QAAV,WAAM;KADf,OAAAP,UAAA,GAAAK,mBAgBS,UAAA;MAdN,KAAK,OAAO;MACb,OAAM;MACN,MAAK;MACJ,e;OAA0C,MAAA,KAAA,CAAK,CAAC,YAAY,MAAM;OAAgB,MAAK;;K,IAOhF,OAAO,WADfL,UAAA,GAAAK,mBAG0B,OAAA;;MADxB,OAAM;MACL,KAAK,OAAO;K,yDACfI,mBAA+B,QAAA,MAAAC,gBAAtB,OAAO,KAAK,GAAA,CAAA,C;I,aAIzBV,UAAA,GAAAK,mBAIO,QAJP,YAE6B,iBAE7B,E;IArCF,SAAAF,cAAQ,CAARQ,WAAQ,KAAA,QAAA,WAAA,CAAA,GAAA,KAAA,GAAA,IAAA,C"}
@@ -1,4 +1,4 @@
1
- import Selector_vue_vue_type_script_setup_true_lang_default from "./Selector.vue.script.js";
1
+ import Selector_vue_vue_type_script_setup_true_lang_default from "./Selector.vue_vue_type_script_setup_true_lang.js";
2
2
  //#region src/components/Selector.vue
3
3
  var Selector_default = Selector_vue_vue_type_script_setup_true_lang_default;
4
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"Selector.vue.js","names":[],"sources":["../../src/components/Selector.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton } from '@scalar/components/button'\nimport { ScalarListbox } from '@scalar/components/listbox'\nimport { ScalarIconCaretDown } from '@scalar/icons'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document'\nimport { computed } from 'vue'\n\nconst { target, servers, selectedServer } = defineProps<{\n /** The selected server URL */\n selectedServer: ServerObject | null\n /** Available servers */\n servers: ServerObject[]\n /** The id of the target to use for the popover (e.g. address bar) */\n target: string\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the selected server changes */\n (e: 'update:modelValue', value: string): void\n}>()\n\nconst serverOptions = computed(() =>\n servers.map((server) => ({\n id: server.url,\n label: server.url,\n })),\n)\n\nconst serverUrlWithoutTrailingSlash = computed(\n () => selectedServer?.url?.replace(/\\/$/, '') || '',\n)\n\nconst selectedServerOption = computed(() =>\n serverOptions.value.find((opt) => opt.id === selectedServer?.url),\n)\n\n// For testing\ndefineExpose({\n servers,\n serverUrlWithoutTrailingSlash,\n serverOptions,\n selectedServer,\n})\n</script>\n<template>\n <ScalarListbox\n v-if=\"serverOptions.length > 1\"\n ref=\"elem\"\n class=\"group\"\n :modelValue=\"selectedServerOption\"\n :options=\"serverOptions\"\n placement=\"bottom-start\"\n resize\n :target=\"target\"\n @update:modelValue=\"(e) => emit('update:modelValue', e.id)\">\n <ScalarButton\n class=\"bg-b-1 text-c-1 h-auto w-full justify-start gap-1.5 overflow-x-auto rounded-t-none rounded-b-xl px-3 py-1.5 text-base font-normal whitespace-nowrap -outline-offset-1\"\n variant=\"ghost\">\n <span class=\"sr-only\">Server:</span>\n <span class=\"overflow-x-auto\">{{\n serverUrlWithoutTrailingSlash || 'Select a server'\n }}</span>\n <ScalarIconCaretDown\n class=\"text-c-2 ui-open:rotate-180 mt-0.25 size-3 transition-transform duration-100\"\n weight=\"bold\" />\n </ScalarButton>\n </ScalarListbox>\n <div\n v-else\n class=\"text-c-1 flex h-auto w-full items-center gap-0.75 rounded-b-lg px-3 py-1.5 text-base leading-[20px] whitespace-nowrap\">\n <span class=\"sr-only\">Server:</span>\n <span class=\"overflow-x-auto\">{{ serverUrlWithoutTrailingSlash }}</span>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"Selector.vue.js","names":["_sfc_main"],"sources":["../../src/components/Selector.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton } from '@scalar/components/button'\nimport { ScalarListbox } from '@scalar/components/listbox'\nimport { ScalarIconCaretDown } from '@scalar/icons'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document'\nimport { computed } from 'vue'\n\nconst { target, servers, selectedServer } = defineProps<{\n /** The selected server URL */\n selectedServer: ServerObject | null\n /** Available servers */\n servers: ServerObject[]\n /** The id of the target to use for the popover (e.g. address bar) */\n target: string\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the selected server changes */\n (e: 'update:modelValue', value: string): void\n}>()\n\nconst serverOptions = computed(() =>\n servers.map((server) => ({\n id: server.url,\n label: server.url,\n })),\n)\n\nconst serverUrlWithoutTrailingSlash = computed(\n () => selectedServer?.url?.replace(/\\/$/, '') || '',\n)\n\nconst selectedServerOption = computed(() =>\n serverOptions.value.find((opt) => opt.id === selectedServer?.url),\n)\n\n// For testing\ndefineExpose({\n servers,\n serverUrlWithoutTrailingSlash,\n serverOptions,\n selectedServer,\n})\n</script>\n<template>\n <ScalarListbox\n v-if=\"serverOptions.length > 1\"\n ref=\"elem\"\n class=\"group\"\n :modelValue=\"selectedServerOption\"\n :options=\"serverOptions\"\n placement=\"bottom-start\"\n resize\n :target=\"target\"\n @update:modelValue=\"(e) => emit('update:modelValue', e.id)\">\n <ScalarButton\n class=\"bg-b-1 text-c-1 h-auto w-full justify-start gap-1.5 overflow-x-auto rounded-t-none rounded-b-xl px-3 py-1.5 text-base font-normal whitespace-nowrap -outline-offset-1\"\n variant=\"ghost\">\n <span class=\"sr-only\">Server:</span>\n <span class=\"overflow-x-auto\">{{\n serverUrlWithoutTrailingSlash || 'Select a server'\n }}</span>\n <ScalarIconCaretDown\n class=\"text-c-2 ui-open:rotate-180 mt-0.25 size-3 transition-transform duration-100\"\n weight=\"bold\" />\n </ScalarButton>\n </ScalarListbox>\n <div\n v-else\n class=\"text-c-1 flex h-auto w-full items-center gap-0.75 rounded-b-lg px-3 py-1.5 text-base leading-[20px] whitespace-nowrap\">\n <span class=\"sr-only\">Server:</span>\n <span class=\"overflow-x-auto\">{{ serverUrlWithoutTrailingSlash }}</span>\n </div>\n</template>\n"],"mappings":""}
@@ -69,4 +69,4 @@ var Selector_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
69
69
  //#endregion
70
70
  export { Selector_vue_vue_type_script_setup_true_lang_default as default };
71
71
 
72
- //# sourceMappingURL=Selector.vue.script.js.map
72
+ //# sourceMappingURL=Selector.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Selector.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createBlock","_unref","_withCtx","_createVNode","_createElementVNode","_toDisplayString","_createElementBlock"],"sources":["../../src/components/Selector.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarButton } from '@scalar/components/button'\nimport { ScalarListbox } from '@scalar/components/listbox'\nimport { ScalarIconCaretDown } from '@scalar/icons'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document'\nimport { computed } from 'vue'\n\nconst { target, servers, selectedServer } = defineProps<{\n /** The selected server URL */\n selectedServer: ServerObject | null\n /** Available servers */\n servers: ServerObject[]\n /** The id of the target to use for the popover (e.g. address bar) */\n target: string\n}>()\n\nconst emit = defineEmits<{\n /** Emitted when the selected server changes */\n (e: 'update:modelValue', value: string): void\n}>()\n\nconst serverOptions = computed(() =>\n servers.map((server) => ({\n id: server.url,\n label: server.url,\n })),\n)\n\nconst serverUrlWithoutTrailingSlash = computed(\n () => selectedServer?.url?.replace(/\\/$/, '') || '',\n)\n\nconst selectedServerOption = computed(() =>\n serverOptions.value.find((opt) => opt.id === selectedServer?.url),\n)\n\n// For testing\ndefineExpose({\n servers,\n serverUrlWithoutTrailingSlash,\n serverOptions,\n selectedServer,\n})\n</script>\n<template>\n <ScalarListbox\n v-if=\"serverOptions.length > 1\"\n ref=\"elem\"\n class=\"group\"\n :modelValue=\"selectedServerOption\"\n :options=\"serverOptions\"\n placement=\"bottom-start\"\n resize\n :target=\"target\"\n @update:modelValue=\"(e) => emit('update:modelValue', e.id)\">\n <ScalarButton\n class=\"bg-b-1 text-c-1 h-auto w-full justify-start gap-1.5 overflow-x-auto rounded-t-none rounded-b-xl px-3 py-1.5 text-base font-normal whitespace-nowrap -outline-offset-1\"\n variant=\"ghost\">\n <span class=\"sr-only\">Server:</span>\n <span class=\"overflow-x-auto\">{{\n serverUrlWithoutTrailingSlash || 'Select a server'\n }}</span>\n <ScalarIconCaretDown\n class=\"text-c-2 ui-open:rotate-180 mt-0.25 size-3 transition-transform duration-100\"\n weight=\"bold\" />\n </ScalarButton>\n </ScalarListbox>\n <div\n v-else\n class=\"text-c-1 flex h-auto w-full items-center gap-0.75 rounded-b-lg px-3 py-1.5 text-base leading-[20px] whitespace-nowrap\">\n <span class=\"sr-only\">Server:</span>\n <span class=\"overflow-x-auto\">{{ serverUrlWithoutTrailingSlash }}</span>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAgBA,MAAM,OAAO;EAKb,MAAM,gBAAgB,eACpB,QAAA,QAAQ,KAAK,YAAY;GACvB,IAAI,OAAO;GACX,OAAO,OAAO;EAChB,EAAE,CACJ;EAEA,MAAM,gCAAgC,eAC9B,QAAA,gBAAgB,KAAK,QAAQ,OAAO,EAAE,KAAK,EACnD;EAEA,MAAM,uBAAuB,eAC3B,cAAc,MAAM,MAAM,QAAQ,IAAI,OAAO,QAAA,gBAAgB,GAAG,CAClE;EAGA,SAAa;GACX,SAAM,QAAA;GACN;GACA;GACA,gBAAa,QAAA;EACf,CAAC;;GAIS,OAAA,cAAA,MAAc,SAAM,KAD5BA,UAAA,GAAAC,YAqBgBC,MAAA,aAAA,GAAA;;IAnBd,KAAI;IACJ,OAAM;IACL,YAAY,qBAAA;IACZ,SAAS,cAAA;IACV,WAAU;IACV,QAAA;IACC,QAAQ,QAAA;IACR,uBAAiB,OAAA,OAAA,OAAA,MAAG,MAAM,KAAI,qBAAsB,EAAE,EAAE;;IACzD,SAAAC,cAUe,CAVfC,YAUeF,MAAA,YAAA,GAAA;KATb,OAAM;KACN,SAAQ;;KACR,SAAAC,cAAoC;MAApC,OAAA,OAAA,OAAA,KAAAE,mBAAoC,QAAA,EAA9B,OAAM,UAAS,GAAC,WAAO,EAAA;MAC7BA,mBAES,QAFT,YAESC,gBADP,8BAAA,SAA6B,iBAAA,GAAA,CAAA;MAE/BF,YAEkBF,MAAA,mBAAA,GAAA;OADhB,OAAM;OACN,QAAO;;;;;;;;;;G,OAGbF,UAAA,GAAAO,mBAKM,OALN,YAKM,CAFJ,OAAA,OAAA,OAAA,KAAAF,mBAAoC,QAAA,EAA9B,OAAM,UAAS,GAAC,WAAO,EAAA,IAC7BA,mBAAwE,QAAxE,YAAwEC,gBAAvC,8BAAA,KAA6B,GAAA,CAAA,C"}
@@ -1,5 +1,5 @@
1
1
  import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-helper.js";
2
- /* empty css */
2
+ /* empty css */
3
3
  import { createElementBlock, createElementVNode, createTextVNode, openBlock } from "vue";
4
4
  //#region src/components/SendingRequest.vue
5
5
  var _sfc_main = {};
@@ -1 +1 @@
1
- {"version":3,"file":"SendingRequest.vue.js","names":[],"sources":["../../src/components/SendingRequest.vue"],"sourcesContent":["<template>\n <div class=\"sendingRequest\">\n <div class=\"playIcon\">\n <svg\n fill=\"currentColor\"\n height=\"32\"\n viewBox=\"0 0 256 256\"\n width=\"32\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M240,128a15.74,15.74,0,0,1-7.6,13.51L88.32,229.65a16,16,0,0,1-16.2.3A15.86,15.86,0,0,1,64,216.13V39.87a15.86,15.86,0,0,1,8.12-13.82,16,16,0,0,1,16.2.3L232.4,114.49A15.74,15.74,0,0,1,240,128Z\"></path>\n </svg>\n </div>\n Sending Request to Endpoint\n </div>\n</template>\n\n<style scoped>\n.playIcon {\n padding: 4px;\n height: 16px;\n width: 16px;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n background: var(--scalar-background-1);\n border-radius: var(--scalar-radius-full);\n}\n\n.playIcon::before {\n content: '';\n width: 16px;\n height: 16px;\n display: inline-block;\n box-sizing: border-box;\n position: absolute;\n border-width: 1.75px;\n border-style: solid;\n border-color: currentcolor currentcolor transparent;\n border-image: initial;\n border-radius: var(--scalar-radius-full);\n background: var(--scalar-background-1);\n animation: 0.42s linear 0s infinite normal none running rotation;\n}\n\n.sendingRequest {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-blue);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n\n.sendingRequest svg {\n width: 100%;\n height: 100%;\n z-index: 1;\n border-radius: var(--scalar-radius-full);\n}\n\n@keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n</style>\n"],"mappings":";;;;;mBACO,OAAM,iBAAgB;;qBAA3B,mBAaM,OAbN,YAaM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAZJ,mBAUM,OAAA,EAVD,OAAM,WAAU,GAAA,CACnB,mBAQM,OAAA;EAPJ,MAAK;EACL,QAAO;EACP,SAAQ;EACR,OAAM;EACN,OAAM;KACN,mBAC4M,QAAA,EAA1M,GAAE,iMAAgM,CAAA,CAAA,CAAA,CAAA,GAAA,EAAA,GAAA,gBAElM,iCAER,EAAA,CAAA,EAAA,CAAA"}
1
+ {"version":3,"file":"SendingRequest.vue.js","names":["_openBlock","_createElementBlock","_createElementVNode","_createTextVNode"],"sources":["../../src/components/SendingRequest.vue"],"sourcesContent":["<template>\n <div class=\"sendingRequest\">\n <div class=\"playIcon\">\n <svg\n fill=\"currentColor\"\n height=\"32\"\n viewBox=\"0 0 256 256\"\n width=\"32\"\n xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M240,128a15.74,15.74,0,0,1-7.6,13.51L88.32,229.65a16,16,0,0,1-16.2.3A15.86,15.86,0,0,1,64,216.13V39.87a15.86,15.86,0,0,1,8.12-13.82,16,16,0,0,1,16.2.3L232.4,114.49A15.74,15.74,0,0,1,240,128Z\"></path>\n </svg>\n </div>\n Sending Request to Endpoint\n </div>\n</template>\n\n<style scoped>\n.playIcon {\n padding: 4px;\n height: 16px;\n width: 16px;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n background: var(--scalar-background-1);\n border-radius: var(--scalar-radius-full);\n}\n\n.playIcon::before {\n content: '';\n width: 16px;\n height: 16px;\n display: inline-block;\n box-sizing: border-box;\n position: absolute;\n border-width: 1.75px;\n border-style: solid;\n border-color: currentcolor currentcolor transparent;\n border-image: initial;\n border-radius: var(--scalar-radius-full);\n background: var(--scalar-background-1);\n animation: 0.42s linear 0s infinite normal none running rotation;\n}\n\n.sendingRequest {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--scalar-color-blue);\n font-weight: var(--scalar-semibold);\n min-height: 40px;\n font-size: var(--scalar-font-size-3);\n position: relative;\n}\n\n.sendingRequest svg {\n width: 100%;\n height: 100%;\n z-index: 1;\n border-radius: var(--scalar-radius-full);\n}\n\n@keyframes rotation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n</style>\n"],"mappings":";;;;;AACO,IAAA,aAAA,EAAA,OAAM,iBAAgB;;CAA3B,OAAAA,UAAA,GAAAC,mBAaM,OAbN,YAaM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CAZJC,mBAUM,OAAA,EAVD,OAAM,WAAU,GAAA,CACnBA,mBAQM,OAAA;EAPJ,MAAK;EACL,QAAO;EACP,SAAQ;EACR,OAAM;EACN,OAAM;C,IACNA,mBAC4M,QAAA,EAA1M,GAAE,iMAAgM,CAAA,C,UAElMC,gBAAA,iCAER,EAAA,C"}
@@ -1,4 +1,4 @@
1
- import ServerSelector_vue_vue_type_script_setup_true_lang_default from "./ServerSelector.vue.script.js";
1
+ import ServerSelector_vue_vue_type_script_setup_true_lang_default from "./ServerSelector.vue_vue_type_script_setup_true_lang.js";
2
2
  //#region src/components/ServerSelector.vue
3
3
  var ServerSelector_default = ServerSelector_vue_vue_type_script_setup_true_lang_default;
4
4
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ServerSelector.vue.js","names":[],"sources":["../../src/components/ServerSelector.vue"],"sourcesContent":["<script lang=\"ts\">\ntype SelectorProps = {\n /** The event bus to use for emitting events */\n eventBus: WorkspaceEventBus\n /** The selected server */\n selectedServer: ServerObject | null\n /** Available servers */\n servers: ServerObject[]\n}\n\n/**\n * ServerSelector\n *\n * Core component for rendering a server selector block.\n * Handles server selection and emits a 'server:update:selected' event when the selected server changes.\n *\n * @event server:update:selected - Emitted when the selected server changes\n * @event server:update:variables - Emitted when a server variable changes\n */\nexport default {}\n</script>\n\n<script lang=\"ts\" setup>\nimport { ServerVariablesForm } from '@scalar/api-client/components/Server'\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document'\nimport { useId } from 'vue'\n\nimport Selector from './Selector.vue'\n\nconst { eventBus, servers, selectedServer } = defineProps<SelectorProps>()\n\nconst id = useId()\n\n/** Update the selected server */\nconst updateServer = (newServer: string) => {\n eventBus.emit('server:update:selected', {\n url: selectedServer?.url === newServer ? '' : newServer,\n meta: {\n type: 'document',\n },\n })\n}\n\n/** Update the server variable */\nconst updateServerVariable = (key: string, value: string) => {\n /** Find the index of the selected server */\n const index = servers.findIndex((s) => s.url === selectedServer?.url)\n if (index === -1) {\n return\n }\n\n eventBus.emit('server:update:variables', {\n index,\n key,\n value,\n meta: {\n type: 'document',\n },\n })\n}\n</script>\n\n<template>\n <label\n class=\"bg-b-2 flex h-8 items-center rounded-t-xl border-x border-t px-3 py-2.5 font-medium\">\n Server\n </label>\n <div\n :id=\"id\"\n class=\"border\"\n :class=\"{\n 'rounded-b-xl':\n !selectedServer?.description && !selectedServer?.variables,\n }\">\n <Selector\n v-if=\"servers.length\"\n :selectedServer\n :servers=\"servers\"\n :target=\"id\"\n @update:modelValue=\"updateServer\" />\n </div>\n <ServerVariablesForm\n layout=\"reference\"\n :variables=\"selectedServer?.variables\"\n @update:variable=\"updateServerVariable\" />\n\n <!-- Description -->\n <ScalarMarkdown\n v-if=\"selectedServer?.description\"\n class=\"text-c-3 rounded-b-xl border-x border-b px-3 py-1.5\"\n :value=\"selectedServer.description\" />\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"ServerSelector.vue.js","names":["_sfc_main"],"sources":["../../src/components/ServerSelector.vue"],"sourcesContent":["<script lang=\"ts\">\ntype SelectorProps = {\n /** The event bus to use for emitting events */\n eventBus: WorkspaceEventBus\n /** The selected server */\n selectedServer: ServerObject | null\n /** Available servers */\n servers: ServerObject[]\n}\n\n/**\n * ServerSelector\n *\n * Core component for rendering a server selector block.\n * Handles server selection and emits a 'server:update:selected' event when the selected server changes.\n *\n * @event server:update:selected - Emitted when the selected server changes\n * @event server:update:variables - Emitted when a server variable changes\n */\nexport default {}\n</script>\n\n<script lang=\"ts\" setup>\nimport { ServerVariablesForm } from '@scalar/api-client/components/Server'\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document'\nimport { useId } from 'vue'\n\nimport Selector from './Selector.vue'\n\nconst { eventBus, servers, selectedServer } = defineProps<SelectorProps>()\n\nconst id = useId()\n\n/** Update the selected server */\nconst updateServer = (newServer: string) => {\n eventBus.emit('server:update:selected', {\n url: selectedServer?.url === newServer ? '' : newServer,\n meta: {\n type: 'document',\n },\n })\n}\n\n/** Update the server variable */\nconst updateServerVariable = (key: string, value: string) => {\n /** Find the index of the selected server */\n const index = servers.findIndex((s) => s.url === selectedServer?.url)\n if (index === -1) {\n return\n }\n\n eventBus.emit('server:update:variables', {\n index,\n key,\n value,\n meta: {\n type: 'document',\n },\n })\n}\n</script>\n\n<template>\n <label\n class=\"bg-b-2 flex h-8 items-center rounded-t-xl border-x border-t px-3 py-2.5 font-medium\">\n Server\n </label>\n <div\n :id=\"id\"\n class=\"border\"\n :class=\"{\n 'rounded-b-xl':\n !selectedServer?.description && !selectedServer?.variables,\n }\">\n <Selector\n v-if=\"servers.length\"\n :selectedServer\n :servers=\"servers\"\n :target=\"id\"\n @update:modelValue=\"updateServer\" />\n </div>\n <ServerVariablesForm\n layout=\"reference\"\n :variables=\"selectedServer?.variables\"\n @update:variable=\"updateServerVariable\" />\n\n <!-- Description -->\n <ScalarMarkdown\n v-if=\"selectedServer?.description\"\n class=\"text-c-3 rounded-b-xl border-x border-b px-3 py-1.5\"\n :value=\"selectedServer.description\" />\n</template>\n"],"mappings":""}
@@ -66,4 +66,4 @@ var ServerSelector_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
66
66
  //#endregion
67
67
  export { ServerSelector_vue_vue_type_script_setup_true_lang_default as default };
68
68
 
69
- //# sourceMappingURL=ServerSelector.vue.script.js.map
69
+ //# sourceMappingURL=ServerSelector.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ServerSelector.vue_vue_type_script_setup_true_lang.js","names":["_openBlock","_createElementBlock","_Fragment","_createElementVNode","_unref","_normalizeClass","_createBlock","Selector","_createCommentVNode","_createVNode"],"sources":["../../src/components/ServerSelector.vue"],"sourcesContent":["<script lang=\"ts\">\ntype SelectorProps = {\n /** The event bus to use for emitting events */\n eventBus: WorkspaceEventBus\n /** The selected server */\n selectedServer: ServerObject | null\n /** Available servers */\n servers: ServerObject[]\n}\n\n/**\n * ServerSelector\n *\n * Core component for rendering a server selector block.\n * Handles server selection and emits a 'server:update:selected' event when the selected server changes.\n *\n * @event server:update:selected - Emitted when the selected server changes\n * @event server:update:variables - Emitted when a server variable changes\n */\nexport default {}\n</script>\n\n<script lang=\"ts\" setup>\nimport { ServerVariablesForm } from '@scalar/api-client/components/Server'\nimport { ScalarMarkdown } from '@scalar/components/markdown'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.2/strict/openapi-document'\nimport { useId } from 'vue'\n\nimport Selector from './Selector.vue'\n\nconst { eventBus, servers, selectedServer } = defineProps<SelectorProps>()\n\nconst id = useId()\n\n/** Update the selected server */\nconst updateServer = (newServer: string) => {\n eventBus.emit('server:update:selected', {\n url: selectedServer?.url === newServer ? '' : newServer,\n meta: {\n type: 'document',\n },\n })\n}\n\n/** Update the server variable */\nconst updateServerVariable = (key: string, value: string) => {\n /** Find the index of the selected server */\n const index = servers.findIndex((s) => s.url === selectedServer?.url)\n if (index === -1) {\n return\n }\n\n eventBus.emit('server:update:variables', {\n index,\n key,\n value,\n meta: {\n type: 'document',\n },\n })\n}\n</script>\n\n<template>\n <label\n class=\"bg-b-2 flex h-8 items-center rounded-t-xl border-x border-t px-3 py-2.5 font-medium\">\n Server\n </label>\n <div\n :id=\"id\"\n class=\"border\"\n :class=\"{\n 'rounded-b-xl':\n !selectedServer?.description && !selectedServer?.variables,\n }\">\n <Selector\n v-if=\"servers.length\"\n :selectedServer\n :servers=\"servers\"\n :target=\"id\"\n @update:modelValue=\"updateServer\" />\n </div>\n <ServerVariablesForm\n layout=\"reference\"\n :variables=\"selectedServer?.variables\"\n @update:variable=\"updateServerVariable\" />\n\n <!-- Description -->\n <ScalarMarkdown\n v-if=\"selectedServer?.description\"\n class=\"text-c-3 rounded-b-xl border-x border-b px-3 py-1.5\"\n :value=\"selectedServer.description\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;EAiCA,MAAM,KAAK,MAAM;;EAGjB,MAAM,gBAAgB,cAAsB;GAC1C,QAAA,SAAS,KAAK,0BAA0B;IACtC,KAAK,QAAA,gBAAgB,QAAQ,YAAY,KAAK;IAC9C,MAAM,EACJ,MAAM,WACR;GACF,CAAC;EACH;;EAGA,MAAM,wBAAwB,KAAa,UAAkB;;GAE3D,MAAM,QAAQ,QAAA,QAAQ,WAAW,MAAM,EAAE,QAAQ,QAAA,gBAAgB,GAAG;GACpE,IAAI,UAAU,IACZ;GAGF,QAAA,SAAS,KAAK,2BAA2B;IACvC;IACA;IACA;IACA,MAAM,EACJ,MAAM,WACR;GACF,CAAC;EACH;;;IAIE,OAAA,OAAA,OAAA,KAAAG,mBAGQ,SAAA,EAFN,OAAM,sFAAqF,GAAC,YAE9F,EAAA;IACAA,mBAaM,OAAA;KAZH,IAAIC,MAAA,EAAA;KACL,OAAKC,eAAA,CAAC,UAAQ,E,gBAC2B,CAAA,QAAA,gBAAgB,eAAW,CAAK,QAAA,gBAAgB,U;I,IAKjF,QAAA,QAAQ,UADhBL,UAAA,GAAAM,YAKsCC,kBAAA;;KAHnC,gBAAA,QAAA;KACA,SAAS,QAAA;KACT,QAAQH,MAAA,EAAA;KACR,uBAAmB;;;;;;IAExBK,YAG4CL,MAAA,mBAAA,GAAA;KAF1C,QAAO;KACN,WAAW,QAAA,gBAAgB;KAC3B,qBAAiB;;IAIZ,QAAA,gBAAgB,eADxBJ,UAAA,GAAAM,YAGwCF,MAAA,cAAA,GAAA;;KADtC,OAAM;KACL,OAAO,QAAA,eAAe"}
@@ -1,6 +1,6 @@
1
1
  import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-helper.js";
2
- import UploadSection_vue_vue_type_script_setup_true_lang_default from "./UploadSection.vue.script.js";
3
- /* empty css */
2
+ import UploadSection_vue_vue_type_script_setup_true_lang_default from "./UploadSection.vue_vue_type_script_setup_true_lang.js";
3
+ /* empty css */
4
4
  //#region src/components/UploadSection.vue
5
5
  var UploadSection_default = /*#__PURE__*/ _plugin_vue_export_helper_default(UploadSection_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-b82d2f3a"]]);
6
6
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"UploadSection.vue.js","names":[],"sources":["../../src/components/UploadSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarLoading, useLoadingState } from '@scalar/components/loading'\nimport { ScalarIconCheck, ScalarIconXCircle } from '@scalar/icons'\nimport { computed } from 'vue'\n\nimport { type UploadTmpDocumentState } from '@/hooks/use-upload-tmp-document'\n\nconst { uploadState } = defineProps<{\n uploadState: UploadTmpDocumentState\n}>()\n\nconst loadingState = useLoadingState()\n\nconst isLoading = computed(() =>\n ['uploading', 'processing', 'loading'].includes(uploadState.type),\n)\n</script>\n\n<template>\n <div\n class=\"uploadSection\"\n :class=\"{\n error: uploadState.type === 'error',\n done: uploadState.type === 'done',\n }\">\n <div\n v-if=\"isLoading\"\n class=\"flex items-center gap-1.5\">\n <ScalarLoading\n class=\"text-blue\"\n :loader=\"{\n ...loadingState,\n isLoading: true,\n }\"\n size=\"lg\" />\n <strong\n v-if=\"uploadState.type === 'loading'\"\n class=\"uploadText\">\n Loading API description…\n </strong>\n <strong\n v-else-if=\"uploadState.type === 'processing'\"\n class=\"uploadText\">\n Processing API description…\n </strong>\n <strong\n v-else\n class=\"uploadText\">\n Uploading API description…\n </strong>\n </div>\n <strong\n v-if=\"uploadState.type === 'done'\"\n class=\"uploadText flex items-center gap-1.5\">\n <ScalarIconCheck class=\"icon text-green\" />\n Your API description has been processed successfully.\n </strong>\n <strong\n v-if=\"uploadState.type === 'error'\"\n class=\"uploadText flex items-center gap-1.5\">\n <ScalarIconXCircle class=\"icon text-red\" />\n {{ uploadState.error }}\n </strong>\n </div>\n</template>\n\n<style scoped>\n.uploadSection {\n width: 100%;\n margin-bottom: -16px;\n padding: 8px 8px 24px 12px;\n position: relative;\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 95%\n );\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl) var(--scalar-radius-3xl) 0 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: absolute;\n top: 0;\n transform: translate3d(0, calc(-100% + 16px), 0);\n}\n\n.uploadSection.error {\n background: color-mix(\n in srgb,\n var(--scalar-color-red),\n var(--scalar-background-1) 95%\n );\n}\n\n.uploadSection.done {\n background: color-mix(\n in srgb,\n var(--scalar-color-green),\n var(--scalar-background-1) 95%\n );\n}\n\n.uploadText {\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n}\n\n.icon {\n height: 20px;\n width: 20px;\n}\n</style>\n"],"mappings":""}
1
+ {"version":3,"file":"UploadSection.vue.js","names":["_sfc_main"],"sources":["../../src/components/UploadSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarLoading, useLoadingState } from '@scalar/components/loading'\nimport { ScalarIconCheck, ScalarIconXCircle } from '@scalar/icons'\nimport { computed } from 'vue'\n\nimport { type UploadTmpDocumentState } from '@/hooks/use-upload-tmp-document'\n\nconst { uploadState } = defineProps<{\n uploadState: UploadTmpDocumentState\n}>()\n\nconst loadingState = useLoadingState()\n\nconst isLoading = computed(() =>\n ['uploading', 'processing', 'loading'].includes(uploadState.type),\n)\n</script>\n\n<template>\n <div\n class=\"uploadSection\"\n :class=\"{\n error: uploadState.type === 'error',\n done: uploadState.type === 'done',\n }\">\n <div\n v-if=\"isLoading\"\n class=\"flex items-center gap-1.5\">\n <ScalarLoading\n class=\"text-blue\"\n :loader=\"{\n ...loadingState,\n isLoading: true,\n }\"\n size=\"lg\" />\n <strong\n v-if=\"uploadState.type === 'loading'\"\n class=\"uploadText\">\n Loading API description…\n </strong>\n <strong\n v-else-if=\"uploadState.type === 'processing'\"\n class=\"uploadText\">\n Processing API description…\n </strong>\n <strong\n v-else\n class=\"uploadText\">\n Uploading API description…\n </strong>\n </div>\n <strong\n v-if=\"uploadState.type === 'done'\"\n class=\"uploadText flex items-center gap-1.5\">\n <ScalarIconCheck class=\"icon text-green\" />\n Your API description has been processed successfully.\n </strong>\n <strong\n v-if=\"uploadState.type === 'error'\"\n class=\"uploadText flex items-center gap-1.5\">\n <ScalarIconXCircle class=\"icon text-red\" />\n {{ uploadState.error }}\n </strong>\n </div>\n</template>\n\n<style scoped>\n.uploadSection {\n width: 100%;\n margin-bottom: -16px;\n padding: 8px 8px 24px 12px;\n position: relative;\n background: color-mix(\n in srgb,\n var(--scalar-color-blue),\n var(--scalar-background-1) 95%\n );\n border: var(--scalar-border-width) solid var(--scalar-border-color);\n border-radius: var(--scalar-radius-3xl) var(--scalar-radius-3xl) 0 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n position: absolute;\n top: 0;\n transform: translate3d(0, calc(-100% + 16px), 0);\n}\n\n.uploadSection.error {\n background: color-mix(\n in srgb,\n var(--scalar-color-red),\n var(--scalar-background-1) 95%\n );\n}\n\n.uploadSection.done {\n background: color-mix(\n in srgb,\n var(--scalar-color-green),\n var(--scalar-background-1) 95%\n );\n}\n\n.uploadText {\n font-weight: var(--scalar-semibold);\n font-size: var(--scalar-font-size-3);\n}\n\n.icon {\n height: 20px;\n width: 20px;\n}\n</style>\n"],"mappings":""}