@scalar/agent-chat 0.9.12 → 0.9.14
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.
- package/dist/App.vue.d.ts +5 -3
- package/dist/App.vue.d.ts.map +1 -1
- package/dist/App.vue.js +7 -0
- package/dist/App.vue.js.map +1 -0
- package/dist/App.vue.script.js +43 -0
- package/dist/App.vue.script.js.map +1 -0
- package/dist/Chat.vue.js +7 -0
- package/dist/Chat.vue.js.map +1 -0
- package/dist/Chat.vue.script.js +48 -0
- package/dist/Chat.vue.script.js.map +1 -0
- package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
- package/dist/api.d.ts +1 -3
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +74 -0
- package/dist/api.js.map +1 -0
- package/dist/client-tools/execute-request.d.ts +1 -1
- package/dist/client-tools/execute-request.js +88 -0
- package/dist/client-tools/execute-request.js.map +1 -0
- package/dist/components/ActionsDropdown.vue.js +9 -0
- package/dist/components/ActionsDropdown.vue.js.map +1 -0
- package/dist/components/ActionsDropdown.vue.script.js +33 -0
- package/dist/components/ActionsDropdown.vue.script.js.map +1 -0
- package/dist/components/ApprovalSection.vue.js +9 -0
- package/dist/components/ApprovalSection.vue.js.map +1 -0
- package/dist/components/ApprovalSection.vue.script.js +26 -0
- package/dist/components/ApprovalSection.vue.script.js.map +1 -0
- package/dist/components/AuthenticationProvided.vue.js +13 -0
- package/dist/components/AuthenticationProvided.vue.js.map +1 -0
- package/dist/components/AuthenticationRequired.vue.js +13 -0
- package/dist/components/AuthenticationRequired.vue.js.map +1 -0
- package/dist/components/AutosendPaused.vue.js +13 -0
- package/dist/components/AutosendPaused.vue.js.map +1 -0
- package/dist/components/BuildingRequest.vue.js +19 -0
- package/dist/components/BuildingRequest.vue.js.map +1 -0
- package/dist/components/ContextItem.vue.js +9 -0
- package/dist/components/ContextItem.vue.js.map +1 -0
- package/dist/components/ContextItem.vue.script.js +13 -0
- package/dist/components/ContextItem.vue.script.js.map +1 -0
- package/dist/components/ErrorMessage.vue.d.ts +1 -1
- package/dist/components/ErrorMessage.vue.js +9 -0
- package/dist/components/ErrorMessage.vue.js.map +1 -0
- package/dist/components/ErrorMessage.vue.script.js +22 -0
- package/dist/components/ErrorMessage.vue.script.js.map +1 -0
- package/dist/components/FreeMessagesInfoSection.vue.js +9 -0
- package/dist/components/FreeMessagesInfoSection.vue.js.map +1 -0
- package/dist/components/FreeMessagesInfoSection.vue.script.js +43 -0
- package/dist/components/FreeMessagesInfoSection.vue.script.js.map +1 -0
- package/dist/components/LoadingMiniOpenAPIDoc.vue.js +13 -0
- package/dist/components/LoadingMiniOpenAPIDoc.vue.js.map +1 -0
- package/dist/components/LoadingOpenAPISpecsSummary.vue.js +13 -0
- package/dist/components/LoadingOpenAPISpecsSummary.vue.js.map +1 -0
- package/dist/components/Logo.vue.js +23 -0
- package/dist/components/Logo.vue.js.map +1 -0
- package/dist/components/PaymentSection.vue.js +9 -0
- package/dist/components/PaymentSection.vue.js.map +1 -0
- package/dist/components/PaymentSection.vue.script.js +22 -0
- package/dist/components/PaymentSection.vue.script.js.map +1 -0
- package/dist/components/RequestApproved.vue.js +13 -0
- package/dist/components/RequestApproved.vue.js.map +1 -0
- package/dist/components/RequestFailed.vue.js +19 -0
- package/dist/components/RequestFailed.vue.js.map +1 -0
- package/dist/components/RequestPreview.vue.d.ts +1 -1
- package/dist/components/RequestPreview.vue.js +9 -0
- package/dist/components/RequestPreview.vue.js.map +1 -0
- package/dist/components/RequestPreview.vue.script.js +96 -0
- package/dist/components/RequestPreview.vue.script.js.map +1 -0
- package/dist/components/RequestRejected.vue.js +19 -0
- package/dist/components/RequestRejected.vue.js.map +1 -0
- package/dist/components/RequestSuccess.vue.js +13 -0
- package/dist/components/RequestSuccess.vue.js.map +1 -0
- package/dist/components/ResponseBody/ResponseBody.vue.d.ts +1 -1
- package/dist/components/ResponseBody/ResponseBody.vue.js +7 -0
- package/dist/components/ResponseBody/ResponseBody.vue.js.map +1 -0
- package/dist/components/ResponseBody/ResponseBody.vue.script.js +43 -0
- package/dist/components/ResponseBody/ResponseBody.vue.script.js.map +1 -0
- package/dist/components/ResponseBody/ResponseBodyInfo.vue.js +12 -0
- package/dist/components/ResponseBody/ResponseBodyInfo.vue.js.map +1 -0
- package/dist/components/ResponseBody/ResponseBodyPreview.vue.d.ts +1 -1
- package/dist/components/ResponseBody/ResponseBodyPreview.vue.js +9 -0
- package/dist/components/ResponseBody/ResponseBodyPreview.vue.js.map +1 -0
- package/dist/components/ResponseBody/ResponseBodyPreview.vue.script.js +59 -0
- package/dist/components/ResponseBody/ResponseBodyPreview.vue.script.js.map +1 -0
- package/dist/components/ResponseBody/ResponseBodyRaw.vue.js +7 -0
- package/dist/components/ResponseBody/ResponseBodyRaw.vue.js.map +1 -0
- package/dist/components/ResponseBody/ResponseBodyRaw.vue.script.js +22 -0
- package/dist/components/ResponseBody/ResponseBodyRaw.vue.script.js.map +1 -0
- package/dist/components/ResponseBody/ResponseBodyToggle.vue.js +7 -0
- package/dist/components/ResponseBody/ResponseBodyToggle.vue.js.map +1 -0
- package/dist/components/ResponseBody/ResponseBodyToggle.vue.script.js +23 -0
- package/dist/components/ResponseBody/ResponseBodyToggle.vue.script.js.map +1 -0
- package/dist/components/ResponseBody/helpers/media-types.js +223 -0
- package/dist/components/ResponseBody/helpers/media-types.js.map +1 -0
- package/dist/components/ResponseBody/helpers/process-response-body.js +33 -0
- package/dist/components/ResponseBody/helpers/process-response-body.js.map +1 -0
- package/dist/components/SearchPopover.vue.js +9 -0
- package/dist/components/SearchPopover.vue.js.map +1 -0
- package/dist/components/SearchPopover.vue.script.js +53 -0
- package/dist/components/SearchPopover.vue.script.js.map +1 -0
- package/dist/components/Selector.vue.js +7 -0
- package/dist/components/Selector.vue.js.map +1 -0
- package/dist/components/Selector.vue.script.js +62 -0
- package/dist/components/Selector.vue.script.js.map +1 -0
- package/dist/components/SendingRequest.vue.js +19 -0
- package/dist/components/SendingRequest.vue.js.map +1 -0
- package/dist/components/ServerSelector.vue.js +7 -0
- package/dist/components/ServerSelector.vue.js.map +1 -0
- package/dist/components/ServerSelector.vue.script.js +60 -0
- package/dist/components/ServerSelector.vue.script.js.map +1 -0
- package/dist/components/UploadSection.vue.d.ts +1 -1
- package/dist/components/UploadSection.vue.js +9 -0
- package/dist/components/UploadSection.vue.js.map +1 -0
- package/dist/components/UploadSection.vue.script.js +52 -0
- package/dist/components/UploadSection.vue.script.js.map +1 -0
- package/dist/consts/urls.js +12 -0
- package/dist/consts/urls.js.map +1 -0
- package/dist/entities/error/constants.js +6 -0
- package/dist/entities/error/constants.js.map +1 -0
- package/dist/entities/error/helpers.d.ts +1 -1
- package/dist/entities/error/helpers.js +11 -0
- package/dist/entities/error/helpers.js.map +1 -0
- package/dist/entities/index.d.ts +9 -9
- package/dist/entities/index.js +10 -2
- package/dist/entities/prompt/constants.js +6 -0
- package/dist/entities/prompt/constants.js.map +1 -0
- package/dist/entities/registry/document.js +14 -0
- package/dist/entities/registry/document.js.map +1 -0
- package/dist/entities/tools/ask-for-authentication.js +7 -0
- package/dist/entities/tools/ask-for-authentication.js.map +1 -0
- package/dist/entities/tools/constants.js +6 -0
- package/dist/entities/tools/constants.js.map +1 -0
- package/dist/entities/tools/execute-request.d.ts +1 -1
- package/dist/entities/tools/execute-request.js +13 -0
- package/dist/entities/tools/execute-request.js.map +1 -0
- package/dist/entities/tools/get-mini-openapi-spec.js +7 -0
- package/dist/entities/tools/get-mini-openapi-spec.js.map +1 -0
- package/dist/entities/tools/get-openapi-spec-summary.js +6 -0
- package/dist/entities/tools/get-openapi-spec-summary.js.map +1 -0
- package/dist/helpers.js +42 -0
- package/dist/helpers.js.map +1 -0
- package/dist/hooks/use-agent-key-documents.js +24 -0
- package/dist/hooks/use-agent-key-documents.js.map +1 -0
- package/dist/hooks/use-chat-approvals.d.ts +1 -1
- package/dist/hooks/use-chat-approvals.js +38 -0
- package/dist/hooks/use-chat-approvals.js.map +1 -0
- package/dist/hooks/use-chat-error.js +25 -0
- package/dist/hooks/use-chat-error.js.map +1 -0
- package/dist/hooks/use-chat-pending-client-tool-parts.js +14 -0
- package/dist/hooks/use-chat-pending-client-tool-parts.js.map +1 -0
- package/dist/hooks/use-chat-scroll.js +17 -0
- package/dist/hooks/use-chat-scroll.js.map +1 -0
- package/dist/hooks/use-curated-documents.js +14 -0
- package/dist/hooks/use-curated-documents.js.map +1 -0
- package/dist/hooks/use-search.d.ts +1 -1
- package/dist/hooks/use-search.js +23 -0
- package/dist/hooks/use-search.js.map +1 -0
- package/dist/hooks/use-signup-link.js +17 -0
- package/dist/hooks/use-signup-link.js.map +1 -0
- package/dist/hooks/use-term-and-conditions.js +20 -0
- package/dist/hooks/use-term-and-conditions.js.map +1 -0
- package/dist/hooks/use-upload-tmp-document.js +92 -0
- package/dist/hooks/use-upload-tmp-document.js.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2065
- package/dist/package.json +1 -1
- package/dist/plugins/persistance.js +16 -0
- package/dist/plugins/persistance.js.map +1 -0
- package/dist/registry/add-documents-to-store.d.ts +2 -2
- package/dist/registry/add-documents-to-store.js +36 -0
- package/dist/registry/add-documents-to-store.js.map +1 -0
- package/dist/registry/create-document-name.js +8 -0
- package/dist/registry/create-document-name.js.map +1 -0
- package/dist/state/state.d.ts +9 -7
- package/dist/state/state.d.ts.map +1 -1
- package/dist/state/state.js +153 -0
- package/dist/state/state.js.map +1 -0
- package/dist/views/Catalog/Catalog.vue.js +10 -0
- package/dist/views/Catalog/Catalog.vue.js.map +1 -0
- package/dist/views/Catalog/Catalog.vue.script.js +50 -0
- package/dist/views/Catalog/Catalog.vue.script.js.map +1 -0
- package/dist/views/Chat/Chat.vue.js +9 -0
- package/dist/views/Chat/Chat.vue.js.map +1 -0
- package/dist/views/Chat/Chat.vue.script.js +55 -0
- package/dist/views/Chat/Chat.vue.script.js.map +1 -0
- package/dist/views/Chat/Messages/AskForAuthentication.vue.d.ts +2 -2
- package/dist/views/Chat/Messages/AskForAuthentication.vue.js +9 -0
- package/dist/views/Chat/Messages/AskForAuthentication.vue.js.map +1 -0
- package/dist/views/Chat/Messages/AskForAuthentication.vue.script.js +72 -0
- package/dist/views/Chat/Messages/AskForAuthentication.vue.script.js.map +1 -0
- package/dist/views/Chat/Messages/ExecuteRequestTool.vue.d.ts +2 -2
- package/dist/views/Chat/Messages/ExecuteRequestTool.vue.js +9 -0
- package/dist/views/Chat/Messages/ExecuteRequestTool.vue.js.map +1 -0
- package/dist/views/Chat/Messages/ExecuteRequestTool.vue.script.js +26 -0
- package/dist/views/Chat/Messages/ExecuteRequestTool.vue.script.js.map +1 -0
- package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue.d.ts +2 -2
- package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue.js +9 -0
- package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue.js.map +1 -0
- package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue.script.js +39 -0
- package/dist/views/Chat/Messages/GetMiniOpenAPIDocTool.vue.script.js.map +1 -0
- package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.d.ts +2 -2
- package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.js +7 -0
- package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.js.map +1 -0
- package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.script.js +21 -0
- package/dist/views/Chat/Messages/GetOpenAPISpecsSummary.vue.script.js.map +1 -0
- package/dist/views/Chat/Messages/Text.vue.js +7 -0
- package/dist/views/Chat/Messages/Text.vue.js.map +1 -0
- package/dist/views/Chat/Messages/Text.vue.script.js +14 -0
- package/dist/views/Chat/Messages/Text.vue.script.js.map +1 -0
- package/dist/views/Layout.vue.js +9 -0
- package/dist/views/Layout.vue.js.map +1 -0
- package/dist/views/Layout.vue.script.js +25 -0
- package/dist/views/Layout.vue.script.js.map +1 -0
- package/dist/views/PromptForm.vue.js +9 -0
- package/dist/views/PromptForm.vue.js.map +1 -0
- package/dist/views/PromptForm.vue.script.js +202 -0
- package/dist/views/PromptForm.vue.script.js.map +1 -0
- package/dist/views/Settings/Auth.vue.js +7 -0
- package/dist/views/Settings/Auth.vue.js.map +1 -0
- package/dist/views/Settings/Auth.vue.script.js +63 -0
- package/dist/views/Settings/Auth.vue.script.js.map +1 -0
- package/dist/views/Settings/DocSettings.vue.js +9 -0
- package/dist/views/Settings/DocSettings.vue.js.map +1 -0
- package/dist/views/Settings/DocSettings.vue.script.js +48 -0
- package/dist/views/Settings/DocSettings.vue.script.js.map +1 -0
- package/dist/views/Settings/Settings.vue.js +10 -0
- package/dist/views/Settings/Settings.vue.js.map +1 -0
- package/dist/views/Settings/Settings.vue.script.js +59 -0
- package/dist/views/Settings/Settings.vue.script.js.map +1 -0
- package/dist/views/Start.vue.js +9 -0
- package/dist/views/Start.vue.js.map +1 -0
- package/dist/views/Start.vue.script.js +41 -0
- package/dist/views/Start.vue.script.js.map +1 -0
- package/package.json +9 -9
- package/dist/entities-NWeuOkBB.js +0 -28
- package/dist/entities-NWeuOkBB.js.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { createElementBlock as t, createStaticVNode as n, openBlock as r } from "vue";
|
|
4
|
+
//#region src/components/RequestSuccess.vue
|
|
5
|
+
var i = {}, a = { class: "requestSuccess" };
|
|
6
|
+
function o(e, i) {
|
|
7
|
+
return r(), t("div", a, [...i[0] ||= [n("<svg fill=\"none\" height=\"16\" viewBox=\"0 0 16 16\" width=\"16\" xmlns=\"http://www.w3.org/2000/svg\" data-v-acc2c0d8><rect height=\"14.25\" rx=\"7.125\" width=\"14.25\" x=\"0.875\" y=\"0.875\" data-v-acc2c0d8></rect><rect height=\"14.25\" rx=\"7.125\" stroke=\"currentColor\" stroke-width=\"1.75\" width=\"14.25\" x=\"0.875\" y=\"0.875\" data-v-acc2c0d8></rect><g clip-path=\"url(#clip0_74_840)\" data-v-acc2c0d8><path 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\" fill=\"currentColor\" data-v-acc2c0d8></path></g><defs data-v-acc2c0d8><clipPath id=\"clip0_74_840\" data-v-acc2c0d8><rect height=\"8\" rx=\"4\" width=\"8\" x=\"4\" y=\"4\" data-v-acc2c0d8></rect></clipPath></defs></svg> Request Succeeded ", 2)]]);
|
|
8
|
+
}
|
|
9
|
+
var s = /* @__PURE__ */ e(i, [["render", o], ["__scopeId", "data-v-acc2c0d8"]]);
|
|
10
|
+
//#endregion
|
|
11
|
+
export { s as default };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=RequestSuccess.vue.js.map
|
|
@@ -0,0 +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":";;;;kBACO,OAAM,kBAAgB;;aAA3B,EAsCM,OAtCN,GAsCM,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAAA,wzCAAA,EAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type MIMEType from 'whatwg-mimetype';
|
|
2
|
-
import { type MediaConfig } from '../../components/ResponseBody/helpers/media-types';
|
|
2
|
+
import { type MediaConfig } from '../../components/ResponseBody/helpers/media-types.js';
|
|
3
3
|
type __VLS_Props = {
|
|
4
4
|
data: unknown;
|
|
5
5
|
responseBody: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponseBody.vue.js","names":[],"sources":["../../../src/components/ResponseBody/ResponseBody.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { watch } from 'vue'\nimport type MIMEType from 'whatwg-mimetype'\n\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'\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\nwatch(\n () => display,\n (v) => console.log(v),\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":""}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import e from "./ResponseBodyInfo.vue.js";
|
|
2
|
+
import t from "./ResponseBodyPreview.vue.js";
|
|
3
|
+
import n from "./ResponseBodyRaw.vue.js";
|
|
4
|
+
import { Fragment as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createTextVNode as s, defineComponent as c, openBlock as l, watch as u, withCtx as d } from "vue";
|
|
5
|
+
//#region src/components/ResponseBody/ResponseBody.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var f = /* @__PURE__ */ c({
|
|
7
|
+
__name: "ResponseBody",
|
|
8
|
+
props: {
|
|
9
|
+
data: {},
|
|
10
|
+
responseBody: {},
|
|
11
|
+
mediaConfig: {},
|
|
12
|
+
display: {}
|
|
13
|
+
},
|
|
14
|
+
setup(c) {
|
|
15
|
+
return u(() => c.display, (e) => console.log(e)), (u, f) => (l(), o(r, null, [
|
|
16
|
+
c.mediaConfig?.raw && c.display === "raw" && c.mediaConfig.language ? (l(), i(n, {
|
|
17
|
+
key: c.responseBody.dataUrl,
|
|
18
|
+
content: c.data,
|
|
19
|
+
language: c.mediaConfig.language
|
|
20
|
+
}, null, 8, ["content", "language"])) : a("", !0),
|
|
21
|
+
c.mediaConfig?.preview && c.display === "preview" ? (l(), i(t, {
|
|
22
|
+
key: c.responseBody.dataUrl,
|
|
23
|
+
alpha: c.mediaConfig.alpha,
|
|
24
|
+
mode: c.mediaConfig.preview,
|
|
25
|
+
src: c.responseBody.dataUrl,
|
|
26
|
+
type: c.responseBody.mimeType?.essence ?? ""
|
|
27
|
+
}, null, 8, [
|
|
28
|
+
"alpha",
|
|
29
|
+
"mode",
|
|
30
|
+
"src",
|
|
31
|
+
"type"
|
|
32
|
+
])) : a("", !0),
|
|
33
|
+
!c.mediaConfig?.raw && !c.mediaConfig?.preview ? (l(), i(e, { key: 2 }, {
|
|
34
|
+
default: d(() => [...f[0] ||= [s(" Binary file ", -1)]]),
|
|
35
|
+
_: 1
|
|
36
|
+
})) : a("", !0)
|
|
37
|
+
], 64));
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
//#endregion
|
|
41
|
+
export { f as default };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=ResponseBody.vue.script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponseBody.vue.script.js","names":[],"sources":["../../../src/components/ResponseBody/ResponseBody.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { watch } from 'vue'\nimport type MIMEType from 'whatwg-mimetype'\n\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'\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\nwatch(\n () => display,\n (v) => console.log(v),\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":";;;;;;;;;;;;;;SAoBA,QACQ,EAAA,UACL,MAAM,QAAQ,IAAI,EAAE,CACvB;GAKU,EAAA,aAAa,OAAO,EAAA,YAAO,SAAc,EAAA,YAAY,YAAA,GAAA,EAD7D,EAIqC,GAAA;IAFlC,KAAK,EAAA,aAAa;IAClB,SAAS,EAAA;IACT,UAAU,EAAA,YAAY;;GAEjB,EAAA,aAAa,WAAW,EAAA,YAAO,aAAA,GAAA,EADvC,EAMiD,GAAA;IAJ9C,KAAK,EAAA,aAAa;IAClB,OAAO,EAAA,YAAY;IACnB,MAAM,EAAA,YAAY;IAClB,KAAK,EAAA,aAAa;IAClB,MAAM,EAAA,aAAa,UAAU,WAAO;;;;;;;IACd,EAAA,aAAa,OAAG,CAAK,EAAA,aAAa,WAAA,GAAA,EAA3D,EAEmB,GAAA,EAAA,KAAA,GAAA,EAAA;qBAAnB,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAFoE,iBAEpE,GAAA,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import e from "../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import { createElementBlock as t, createElementVNode as n, openBlock as r, renderSlot as i } from "vue";
|
|
3
|
+
//#region src/components/ResponseBody/ResponseBodyInfo.vue
|
|
4
|
+
var a = {}, o = { class: "flex justify-center px-2 py-3" }, s = { class: "text-c-3 p-2 text-sm" };
|
|
5
|
+
function c(e, a) {
|
|
6
|
+
return r(), t("div", o, [n("div", s, [i(e.$slots, "default")])]);
|
|
7
|
+
}
|
|
8
|
+
var l = /* @__PURE__ */ e(a, [["render", c]]);
|
|
9
|
+
//#endregion
|
|
10
|
+
export { l as default };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=ResponseBodyInfo.vue.js.map
|
|
@@ -0,0 +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":";;;kBACO,OAAM,iCAA+B,QACnC,OAAM,wBAAsB;;aADnC,EAEM,OAFN,GAEM,CADJ,EAAgD,OAAhD,GAAgD,CAAd,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import e from "../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./ResponseBodyPreview.vue.script.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region src/components/ResponseBody/ResponseBodyPreview.vue
|
|
5
|
+
var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-92f84612"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=ResponseBodyPreview.vue.js.map
|
|
@@ -0,0 +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":""}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import e from "./ResponseBodyInfo.vue.js";
|
|
2
|
+
import { createBlock as t, createElementBlock as n, createElementVNode as r, createTextVNode as i, defineComponent as a, normalizeClass as o, openBlock as s, ref as c, watch as l, withCtx as u } from "vue";
|
|
3
|
+
//#region src/components/ResponseBody/ResponseBodyPreview.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var d = ["src"], f = ["src", "type"], p = ["src", "type"], m = ["data", "type"], h = /* @__PURE__ */ a({
|
|
5
|
+
__name: "ResponseBodyPreview",
|
|
6
|
+
props: {
|
|
7
|
+
src: {},
|
|
8
|
+
type: {},
|
|
9
|
+
mode: {},
|
|
10
|
+
alpha: {
|
|
11
|
+
type: Boolean,
|
|
12
|
+
default: !1
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
setup(a) {
|
|
16
|
+
let h = c(!1);
|
|
17
|
+
return l(() => a.src, () => {
|
|
18
|
+
h.value = !1;
|
|
19
|
+
}), (c, l) => !h.value && a.src ? (s(), n("div", {
|
|
20
|
+
key: 0,
|
|
21
|
+
class: o(["flex justify-center overflow-auto rounded-b", { "bg-preview p-2": a.alpha }])
|
|
22
|
+
}, [a.mode === "image" ? (s(), n("img", {
|
|
23
|
+
key: 0,
|
|
24
|
+
class: o(["h-full max-w-full", { rounded: a.alpha }]),
|
|
25
|
+
src: a.src,
|
|
26
|
+
onError: l[0] ||= (e) => h.value = !0
|
|
27
|
+
}, null, 42, d)) : a.mode === "video" ? (s(), n("video", {
|
|
28
|
+
key: 1,
|
|
29
|
+
autoplay: "",
|
|
30
|
+
controls: "",
|
|
31
|
+
width: "100%",
|
|
32
|
+
onError: l[1] ||= (e) => h.value = !0
|
|
33
|
+
}, [r("source", {
|
|
34
|
+
src: a.src,
|
|
35
|
+
type: a.type
|
|
36
|
+
}, null, 8, f)], 32)) : a.mode === "audio" ? (s(), n("audio", {
|
|
37
|
+
key: 2,
|
|
38
|
+
class: "my-12",
|
|
39
|
+
controls: "",
|
|
40
|
+
onError: l[2] ||= (e) => h.value = !0
|
|
41
|
+
}, [r("source", {
|
|
42
|
+
src: a.src,
|
|
43
|
+
type: a.type
|
|
44
|
+
}, null, 8, p)], 32)) : (s(), n("object", {
|
|
45
|
+
key: 3,
|
|
46
|
+
class: "aspect-[4/3] w-full",
|
|
47
|
+
data: a.src,
|
|
48
|
+
type: a.type,
|
|
49
|
+
onError: l[3] ||= (e) => h.value = !0
|
|
50
|
+
}, null, 40, m))], 2)) : (s(), t(e, { key: 1 }, {
|
|
51
|
+
default: u(() => [...l[4] ||= [i("Preview unavailable", -1)]]),
|
|
52
|
+
_: 1
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
//#endregion
|
|
57
|
+
export { h as default };
|
|
58
|
+
|
|
59
|
+
//# sourceMappingURL=ResponseBodyPreview.vue.script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponseBodyPreview.vue.script.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":";;;;;;;;;;;;;;;EAkBA,IAAM,IAAQ,EAAI,GAAK;SAEvB,QACQ,EAAA,WACA;AACJ,KAAM,QAAQ;IAElB,aAIW,EAAA,SAAS,EAAA,OAAA,GAAA,EADlB,EAmCM,OAAA;;GAjCJ,OAAK,EAAA,CAAC,+CAA6C,EAAA,kBACvB,EAAA,OAAK,CAAA,CAAA;MAEzB,EAAA,SAAI,WAAA,GAAA,EADZ,EAK0B,OAAA;;GAHxB,OAAK,EAAA,CAAC,qBAAmB,EAAA,SACN,EAAA,OAAK,CAAA,CAAA;GACvB,KAAK,EAAA;GACL,SAAK,AAAA,EAAA,QAAA,MAAE,EAAA,QAAK;qBAEF,EAAA,SAAI,WAAA,GAAA,EADjB,EASQ,SAAA;;GAPN,UAAA;GACA,UAAA;GACA,OAAM;GACL,SAAK,AAAA,EAAA,QAAA,MAAE,EAAA,QAAK;MACb,EAEiB,UAAA;GADd,KAAK,EAAA;GACL,MAAM,EAAA;0BAGE,EAAA,SAAI,WAAA,GAAA,EADjB,EAQQ,SAAA;;GANN,OAAM;GACN,UAAA;GACC,SAAK,AAAA,EAAA,QAAA,MAAE,EAAA,QAAK;MACb,EAEiB,UAAA;GADd,KAAK,EAAA;GACL,MAAM,EAAA;gCAEX,EAK0B,UAAA;;GAHxB,OAAM;GACL,MAAM,EAAA;GACN,MAAM,EAAA;GACN,SAAK,AAAA,EAAA,QAAA,MAAE,EAAA,QAAK;iCAEjB,EAA+D,GAAA,EAAA,KAAA,GAAA,EAAA;oBAAnB,CAAA,GAAA,AAAA,EAAA,OAAA,CAAA,EAAnB,uBAAmB,GAAA,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +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'\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":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createBlock as e, defineComponent as t, openBlock as n, unref as r } from "vue";
|
|
2
|
+
import { ScalarCodeBlock as i } from "@scalar/components";
|
|
3
|
+
//#region src/components/ResponseBody/ResponseBodyRaw.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var a = /* @__PURE__ */ t({
|
|
5
|
+
__name: "ResponseBodyRaw",
|
|
6
|
+
props: {
|
|
7
|
+
content: {},
|
|
8
|
+
language: {}
|
|
9
|
+
},
|
|
10
|
+
setup(t) {
|
|
11
|
+
let a = t;
|
|
12
|
+
return (o, s) => (n(), e(r(i), {
|
|
13
|
+
class: "codeBlock",
|
|
14
|
+
content: a.content,
|
|
15
|
+
lang: t.language
|
|
16
|
+
}, null, 8, ["content", "lang"]));
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
//#endregion
|
|
20
|
+
export { a as default };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=ResponseBodyRaw.vue.script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponseBodyRaw.vue.script.js","names":[],"sources":["../../../src/components/ResponseBody/ResponseBodyRaw.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { ScalarCodeBlock } from '@scalar/components'\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,IAAM,IAAQ;yBAOZ,EAGqB,EAAA,EAAA,EAAA;GAFnB,OAAM;GACL,SAAS,EAAM;GACf,MAAM,EAAA"}
|
|
@@ -0,0 +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":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createElementBlock as e, createElementVNode as t, defineComponent as n, normalizeClass as r, openBlock as i, withModifiers as a } from "vue";
|
|
2
|
+
//#region src/components/ResponseBody/ResponseBodyToggle.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var o = { class: "text-c-3 text-xxs -my-1 flex justify-center gap-0.5 rounded p-0.5" }, s = /* @__PURE__ */ n({
|
|
4
|
+
__name: "ResponseBodyToggle",
|
|
5
|
+
props: { modelValue: {} },
|
|
6
|
+
emits: ["toggle"],
|
|
7
|
+
setup(n, { emit: s }) {
|
|
8
|
+
let c = s;
|
|
9
|
+
return (s, l) => (i(), e("div", o, [t("button", {
|
|
10
|
+
class: r(["hover:bg-b-3 rounded px-1", { "bg-b-3 text-c-1 cursor-default": n.modelValue === "preview" }]),
|
|
11
|
+
type: "button",
|
|
12
|
+
onClick: l[0] ||= a((e) => c("toggle", "preview"), ["stop"])
|
|
13
|
+
}, " Preview ", 2), t("button", {
|
|
14
|
+
class: r(["hover:bg-b-3 rounded px-1", { "bg-b-3 text-c-1 cursor-default": n.modelValue === "raw" }]),
|
|
15
|
+
type: "button",
|
|
16
|
+
onClick: l[1] ||= a((e) => c("toggle", "raw"), ["stop"])
|
|
17
|
+
}, " Raw ", 2)]));
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
//#endregion
|
|
21
|
+
export { s as default };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=ResponseBodyToggle.vue.script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResponseBodyToggle.vue.script.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":";;;;;;;EAKA,IAAM,IAAO;yBAKX,EAgBM,OAhBN,GAgBM,CAdJ,EAMS,UAAA;GALP,OAAK,EAAA,CAAC,6BAA2B,EAAA,kCACW,EAAA,eAAU,WAAA,CAAA,CAAA;GACtD,MAAK;GACJ,SAAK,AAAA,EAAA,OAAA,GAAA,MAAO,EAAI,UAAA,UAAA,EAAA,CAAA,OAAA,CAAA;KAAuB,aAE1C,EAAA,EACA,EAMS,UAAA;GALP,OAAK,EAAA,CAAC,6BAA2B,EAAA,kCACW,EAAA,eAAU,OAAA,CAAA,CAAA;GACtD,MAAK;GACJ,SAAK,AAAA,EAAA,OAAA,GAAA,MAAO,EAAI,UAAA,MAAA,EAAA,CAAA,OAAA,CAAA;KAAmB,SAEtC,EAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
//#region src/components/ResponseBody/helpers/media-types.ts
|
|
2
|
+
var e = {
|
|
3
|
+
"application/epub+zip": { extension: ".epub" },
|
|
4
|
+
"application/gzip": { extension: ".gz" },
|
|
5
|
+
"application/java-archive": { extension: ".jar" },
|
|
6
|
+
"application/javascript": {
|
|
7
|
+
extension: ".js",
|
|
8
|
+
raw: !0
|
|
9
|
+
},
|
|
10
|
+
"application/json": {
|
|
11
|
+
extension: ".json",
|
|
12
|
+
raw: !0,
|
|
13
|
+
language: "json"
|
|
14
|
+
},
|
|
15
|
+
"application/ld+json": {
|
|
16
|
+
extension: ".jsonld",
|
|
17
|
+
raw: !0,
|
|
18
|
+
language: "json"
|
|
19
|
+
},
|
|
20
|
+
"application/problem+json": {
|
|
21
|
+
extension: ".json",
|
|
22
|
+
raw: !0,
|
|
23
|
+
language: "json"
|
|
24
|
+
},
|
|
25
|
+
"application/vnd.api+json": {
|
|
26
|
+
extension: ".json",
|
|
27
|
+
raw: !0,
|
|
28
|
+
language: "json"
|
|
29
|
+
},
|
|
30
|
+
"application/dns-json": {
|
|
31
|
+
extension: ".json",
|
|
32
|
+
raw: !0,
|
|
33
|
+
language: "json"
|
|
34
|
+
},
|
|
35
|
+
"application/msword": { extension: ".doc" },
|
|
36
|
+
"application/octet-stream": { extension: ".bin" },
|
|
37
|
+
"application/ogg": { extension: ".ogx" },
|
|
38
|
+
"application/pdf": {
|
|
39
|
+
extension: ".pdf",
|
|
40
|
+
preview: "object"
|
|
41
|
+
},
|
|
42
|
+
"application/rtf": {
|
|
43
|
+
extension: ".rtf",
|
|
44
|
+
raw: !0
|
|
45
|
+
},
|
|
46
|
+
"application/vnd.amazon.ebook": { extension: ".azw" },
|
|
47
|
+
"application/vnd.apple.installer+xml": {
|
|
48
|
+
extension: ".mpkg",
|
|
49
|
+
raw: !0,
|
|
50
|
+
language: "xml"
|
|
51
|
+
},
|
|
52
|
+
"application/vnd.mozilla.xul+xml": {
|
|
53
|
+
extension: ".xul",
|
|
54
|
+
raw: !0,
|
|
55
|
+
language: "xml"
|
|
56
|
+
},
|
|
57
|
+
"application/vnd.ms-excel": { extension: ".xls" },
|
|
58
|
+
"application/vnd.ms-fontobject": { extension: ".eot" },
|
|
59
|
+
"application/vnd.ms-powerpoint": { extension: ".ppt" },
|
|
60
|
+
"application/vnd.oasis.opendocument.presentation": { extension: ".odp" },
|
|
61
|
+
"application/vnd.oasis.opendocument.spreadsheet": { extension: ".ods" },
|
|
62
|
+
"application/vnd.oasis.opendocument.text": { extension: ".odt" },
|
|
63
|
+
"application/vnd.openxmlformats-officedocument.presentationml.presentation": { extension: ".pptx" },
|
|
64
|
+
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { extension: ".xlsx" },
|
|
65
|
+
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": { extension: ".docx" },
|
|
66
|
+
"application/vnd.rar": { extension: ".rar" },
|
|
67
|
+
"application/vnd.visio": { extension: ".vsd" },
|
|
68
|
+
"application/x-7z-compressed": { extension: ".7z" },
|
|
69
|
+
"application/x-abiword": { extension: ".abw" },
|
|
70
|
+
"application/x-bzip": { extension: ".bz" },
|
|
71
|
+
"application/x-bzip2": { extension: ".bz2" },
|
|
72
|
+
"application/x-cdf": { extension: ".cda" },
|
|
73
|
+
"application/x-csh": { extension: ".csh" },
|
|
74
|
+
"application/x-freearc": { extension: ".arc" },
|
|
75
|
+
"application/x-httpd-php": {
|
|
76
|
+
extension: ".php",
|
|
77
|
+
raw: !0
|
|
78
|
+
},
|
|
79
|
+
"application/x-sh": {
|
|
80
|
+
extension: ".sh",
|
|
81
|
+
raw: !0
|
|
82
|
+
},
|
|
83
|
+
"application/x-tar": { extension: ".tar" },
|
|
84
|
+
"application/xhtml+xml": {
|
|
85
|
+
extension: ".xhtml",
|
|
86
|
+
raw: !0,
|
|
87
|
+
language: "html"
|
|
88
|
+
},
|
|
89
|
+
"application/xml": {
|
|
90
|
+
extension: ".xml",
|
|
91
|
+
raw: !0,
|
|
92
|
+
language: "xml"
|
|
93
|
+
},
|
|
94
|
+
"application/yaml": {
|
|
95
|
+
extension: ".yaml",
|
|
96
|
+
raw: !0,
|
|
97
|
+
language: "yaml"
|
|
98
|
+
},
|
|
99
|
+
"application/zip": { extension: ".zip" },
|
|
100
|
+
"audio/aac": { extension: ".aac" },
|
|
101
|
+
"audio/midi": { extension: ".midi" },
|
|
102
|
+
"audio/mpeg": {
|
|
103
|
+
extension: ".mp3",
|
|
104
|
+
preview: "audio"
|
|
105
|
+
},
|
|
106
|
+
"audio/ogg": { extension: ".oga" },
|
|
107
|
+
"audio/wav": { extension: ".wav" },
|
|
108
|
+
"audio/webm": { extension: ".weba" },
|
|
109
|
+
"font/otf": { extension: ".otf" },
|
|
110
|
+
"font/ttf": { extension: ".ttf" },
|
|
111
|
+
"font/woff": { extension: ".woff" },
|
|
112
|
+
"font/woff2": { extension: ".woff2" },
|
|
113
|
+
"image/apng": {
|
|
114
|
+
extension: ".apng",
|
|
115
|
+
preview: "image",
|
|
116
|
+
alpha: !0
|
|
117
|
+
},
|
|
118
|
+
"image/avif": {
|
|
119
|
+
extension: ".avif",
|
|
120
|
+
preview: "image"
|
|
121
|
+
},
|
|
122
|
+
"image/bmp": {
|
|
123
|
+
extension: ".bmp",
|
|
124
|
+
preview: "image"
|
|
125
|
+
},
|
|
126
|
+
"image/gif": {
|
|
127
|
+
extension: ".gif",
|
|
128
|
+
preview: "image",
|
|
129
|
+
alpha: !0
|
|
130
|
+
},
|
|
131
|
+
"image/jpeg": {
|
|
132
|
+
extension: ".jpg",
|
|
133
|
+
preview: "image"
|
|
134
|
+
},
|
|
135
|
+
"image/png": {
|
|
136
|
+
extension: ".png",
|
|
137
|
+
preview: "image",
|
|
138
|
+
alpha: !0
|
|
139
|
+
},
|
|
140
|
+
"image/svg+xml": {
|
|
141
|
+
extension: ".svg",
|
|
142
|
+
raw: !0,
|
|
143
|
+
language: "xml",
|
|
144
|
+
preview: "image",
|
|
145
|
+
alpha: !0
|
|
146
|
+
},
|
|
147
|
+
"image/tiff": { extension: ".tiff" },
|
|
148
|
+
"image/vnd.microsoft.icon": {
|
|
149
|
+
extension: ".ico",
|
|
150
|
+
preview: "image"
|
|
151
|
+
},
|
|
152
|
+
"image/webp": {
|
|
153
|
+
extension: ".webp",
|
|
154
|
+
preview: "image",
|
|
155
|
+
alpha: !0
|
|
156
|
+
},
|
|
157
|
+
"text/calendar": {
|
|
158
|
+
extension: ".ics",
|
|
159
|
+
raw: !0
|
|
160
|
+
},
|
|
161
|
+
"text/css": {
|
|
162
|
+
extension: ".css",
|
|
163
|
+
raw: !0,
|
|
164
|
+
language: "css"
|
|
165
|
+
},
|
|
166
|
+
"text/csv": {
|
|
167
|
+
extension: ".csv",
|
|
168
|
+
raw: !0
|
|
169
|
+
},
|
|
170
|
+
"text/html": {
|
|
171
|
+
extension: ".html",
|
|
172
|
+
raw: !0,
|
|
173
|
+
language: "html",
|
|
174
|
+
preview: "object"
|
|
175
|
+
},
|
|
176
|
+
"text/javascript": {
|
|
177
|
+
extension: ".js",
|
|
178
|
+
raw: !0
|
|
179
|
+
},
|
|
180
|
+
"text/plain": {
|
|
181
|
+
extension: ".txt",
|
|
182
|
+
raw: !0
|
|
183
|
+
},
|
|
184
|
+
"text/xml": {
|
|
185
|
+
extension: ".xml",
|
|
186
|
+
raw: !0,
|
|
187
|
+
language: "xml"
|
|
188
|
+
},
|
|
189
|
+
"text/yaml": {
|
|
190
|
+
extension: ".yaml",
|
|
191
|
+
raw: !0,
|
|
192
|
+
language: "yaml"
|
|
193
|
+
},
|
|
194
|
+
"video/3gpp": { extension: ".3gp" },
|
|
195
|
+
"audio/3gpp": { extension: ".3gp" },
|
|
196
|
+
"video/3gpp2": { extension: ".3g2" },
|
|
197
|
+
"audio/3gpp2": { extension: ".3g2" },
|
|
198
|
+
"video/mp2t": { extension: ".ts" },
|
|
199
|
+
"video/mp4": {
|
|
200
|
+
extension: ".mp4",
|
|
201
|
+
preview: "video"
|
|
202
|
+
},
|
|
203
|
+
"video/mpeg": { extension: ".mpeg" },
|
|
204
|
+
"video/ogg": { extension: ".ogv" },
|
|
205
|
+
"video/webm": {
|
|
206
|
+
extension: ".webm",
|
|
207
|
+
preview: "video"
|
|
208
|
+
},
|
|
209
|
+
"video/x-msvideo": { extension: ".avi" }
|
|
210
|
+
};
|
|
211
|
+
function t(t) {
|
|
212
|
+
let n = e[t];
|
|
213
|
+
if (n) return n;
|
|
214
|
+
if (t.endsWith("+json")) return {
|
|
215
|
+
extension: ".json",
|
|
216
|
+
raw: !0,
|
|
217
|
+
language: "json"
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
//#endregion
|
|
221
|
+
export { t as getMediaTypeConfig };
|
|
222
|
+
|
|
223
|
+
//# sourceMappingURL=media-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-types.js","names":[],"sources":["../../../../src/components/ResponseBody/helpers/media-types.ts"],"sourcesContent":["export type MediaPreview = 'object' | 'image' | 'video' | 'audio'\n\nexport type MediaConfig = {\n preview?: MediaPreview\n alpha?: boolean\n raw?: boolean\n language?: string\n extension: string\n}\n\n/** Media Type (MIME Type) Definitions */\nconst mediaTypes: { [type: string]: MediaConfig | undefined } = {\n 'application/epub+zip': { extension: '.epub' },\n 'application/gzip': { extension: '.gz' },\n 'application/java-archive': { extension: '.jar' },\n 'application/javascript': { extension: '.js', raw: true },\n 'application/json': { extension: '.json', raw: true, language: 'json' },\n 'application/ld+json': { extension: '.jsonld', raw: true, language: 'json' },\n 'application/problem+json': {\n extension: '.json',\n raw: true,\n language: 'json',\n },\n 'application/vnd.api+json': {\n extension: '.json',\n raw: true,\n language: 'json',\n },\n 'application/dns-json': { extension: '.json', raw: true, language: 'json' },\n 'application/msword': { extension: '.doc' },\n 'application/octet-stream': { extension: '.bin' },\n 'application/ogg': { extension: '.ogx' },\n 'application/pdf': { extension: '.pdf', preview: 'object' },\n 'application/rtf': { extension: '.rtf', raw: true },\n 'application/vnd.amazon.ebook': { extension: '.azw' },\n 'application/vnd.apple.installer+xml': {\n extension: '.mpkg',\n raw: true,\n language: 'xml',\n },\n 'application/vnd.mozilla.xul+xml': {\n extension: '.xul',\n raw: true,\n language: 'xml',\n },\n 'application/vnd.ms-excel': { extension: '.xls' },\n 'application/vnd.ms-fontobject': { extension: '.eot' },\n 'application/vnd.ms-powerpoint': { extension: '.ppt' },\n 'application/vnd.oasis.opendocument.presentation': { extension: '.odp' },\n 'application/vnd.oasis.opendocument.spreadsheet': { extension: '.ods' },\n 'application/vnd.oasis.opendocument.text': { extension: '.odt' },\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation': {\n extension: '.pptx',\n },\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': {\n extension: '.xlsx',\n },\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document': {\n extension: '.docx',\n },\n 'application/vnd.rar': { extension: '.rar' },\n 'application/vnd.visio': { extension: '.vsd' },\n 'application/x-7z-compressed': { extension: '.7z' },\n 'application/x-abiword': { extension: '.abw' },\n 'application/x-bzip': { extension: '.bz' },\n 'application/x-bzip2': { extension: '.bz2' },\n 'application/x-cdf': { extension: '.cda' },\n 'application/x-csh': { extension: '.csh' },\n 'application/x-freearc': { extension: '.arc' },\n 'application/x-httpd-php': { extension: '.php', raw: true },\n 'application/x-sh': { extension: '.sh', raw: true },\n 'application/x-tar': { extension: '.tar' },\n 'application/xhtml+xml': { extension: '.xhtml', raw: true, language: 'html' },\n 'application/xml': { extension: '.xml', raw: true, language: 'xml' },\n 'application/yaml': { extension: '.yaml', raw: true, language: 'yaml' },\n 'application/zip': { extension: '.zip' },\n 'audio/aac': { extension: '.aac' },\n 'audio/midi': { extension: '.midi' },\n 'audio/mpeg': { extension: '.mp3', preview: 'audio' },\n 'audio/ogg': { extension: '.oga' },\n 'audio/wav': { extension: '.wav' },\n 'audio/webm': { extension: '.weba' },\n 'font/otf': { extension: '.otf' },\n 'font/ttf': { extension: '.ttf' },\n 'font/woff': { extension: '.woff' },\n 'font/woff2': { extension: '.woff2' },\n 'image/apng': { extension: '.apng', preview: 'image', alpha: true },\n 'image/avif': { extension: '.avif', preview: 'image' },\n 'image/bmp': { extension: '.bmp', preview: 'image' },\n 'image/gif': { extension: '.gif', preview: 'image', alpha: true },\n 'image/jpeg': { extension: '.jpg', preview: 'image' },\n 'image/png': { extension: '.png', preview: 'image', alpha: true },\n 'image/svg+xml': {\n extension: '.svg',\n raw: true,\n language: 'xml',\n preview: 'image',\n alpha: true,\n },\n 'image/tiff': { extension: '.tiff' },\n 'image/vnd.microsoft.icon': { extension: '.ico', preview: 'image' },\n 'image/webp': { extension: '.webp', preview: 'image', alpha: true },\n 'text/calendar': { extension: '.ics', raw: true },\n 'text/css': { extension: '.css', raw: true, language: 'css' },\n 'text/csv': { extension: '.csv', raw: true },\n 'text/html': {\n extension: '.html',\n raw: true,\n language: 'html',\n preview: 'object',\n },\n 'text/javascript': { extension: '.js', raw: true },\n 'text/plain': { extension: '.txt', raw: true },\n 'text/xml': { extension: '.xml', raw: true, language: 'xml' },\n 'text/yaml': { extension: '.yaml', raw: true, language: 'yaml' },\n 'video/3gpp': { extension: '.3gp' },\n 'audio/3gpp': { extension: '.3gp' },\n 'video/3gpp2': { extension: '.3g2' },\n 'audio/3gpp2': { extension: '.3g2' },\n 'video/mp2t': { extension: '.ts' },\n 'video/mp4': { extension: '.mp4', preview: 'video' },\n 'video/mpeg': { extension: '.mpeg' },\n 'video/ogg': { extension: '.ogv' },\n 'video/webm': { extension: '.webm', preview: 'video' },\n 'video/x-msvideo': { extension: '.avi' },\n}\n\n/** Get the config for a media type */\nexport function getMediaTypeConfig(type: string): MediaConfig | undefined {\n const config = mediaTypes[type]\n if (config) {\n return config\n }\n\n // Fallback for +json types\n if (type.endsWith('+json')) {\n return {\n extension: '.json',\n raw: true,\n language: 'json',\n }\n }\n\n return undefined\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import e from "whatwg-mimetype";
|
|
2
|
+
//#region src/components/ResponseBody/helpers/process-response-body.ts
|
|
3
|
+
var t = (e) => {
|
|
4
|
+
try {
|
|
5
|
+
return decodeURIComponent(e);
|
|
6
|
+
} catch {
|
|
7
|
+
return e;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
function n(e) {
|
|
11
|
+
let n = "";
|
|
12
|
+
if (e) {
|
|
13
|
+
let r = e.match(/filename\*=UTF-8''([^;]+)/)?.[1] ?? e.match(/filename\s*=\s*"?([^";]+)"?/)?.[1];
|
|
14
|
+
r && (n = t(r.trim()));
|
|
15
|
+
}
|
|
16
|
+
return n;
|
|
17
|
+
}
|
|
18
|
+
var r = (e) => e instanceof Blob, i = (e) => e ? Object.keys(e).map((t) => ({
|
|
19
|
+
name: t,
|
|
20
|
+
value: e[t] ?? ""
|
|
21
|
+
})) : [];
|
|
22
|
+
function a({ data: t, headers: a }) {
|
|
23
|
+
let o = i(a), s = o.find((e) => e.name.toLowerCase() === "content-type"), c = s?.value ? new e(s.value) : void 0;
|
|
24
|
+
return {
|
|
25
|
+
mimeType: c,
|
|
26
|
+
attachmentFilename: n(o.find((e) => e.name.toLowerCase() === "content-disposition")?.value ?? ""),
|
|
27
|
+
dataUrl: r(t) ? URL.createObjectURL(t) : typeof t == "string" ? URL.createObjectURL(new Blob([t], { type: c ? c.toString() : void 0 })) : t instanceof Object && Object.keys(t).length ? URL.createObjectURL(new Blob([JSON.stringify(t)], { type: c ? c.toString() : void 0 })) : ""
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { a as processResponseBody };
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=process-response-body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-response-body.js","names":[],"sources":["../../../../src/components/ResponseBody/helpers/process-response-body.ts"],"sourcesContent":["import MimeType from 'whatwg-mimetype'\n\nconst decodeURIComponentSafe = (str: string) => {\n try {\n return decodeURIComponent(str)\n } catch {\n return str\n }\n}\n\nfunction extractFilename(contentDisposition: string) {\n let filename = ''\n\n if (contentDisposition) {\n const fileNameMatch =\n contentDisposition.match(/filename\\*=UTF-8''([^;]+)/)?.[1] ??\n contentDisposition.match(/filename\\s*=\\s*\"?([^\";]+)\"?/)?.[1]\n\n if (fileNameMatch) {\n filename = decodeURIComponentSafe(fileNameMatch.trim())\n }\n }\n\n return filename\n}\n\nconst isBlob = (b: any): b is Blob => b instanceof Blob\n\nconst getResponseHeaders = (headers?: Record<string, string>) => {\n return headers\n ? Object.keys(headers).map((key) => ({\n name: key,\n value: headers[key] ?? '',\n }))\n : []\n}\n\nexport function processResponseBody({ data, headers }: { data: unknown; headers?: Record<string, string> }) {\n const responseHeaders = getResponseHeaders(headers)\n\n const contentType = responseHeaders.find((header) => header.name.toLowerCase() === 'content-type')\n const mimeType = contentType?.value ? new MimeType(contentType.value) : undefined\n const attachmentFilename = extractFilename(\n responseHeaders.find((header) => header.name.toLowerCase() === 'content-disposition')?.value ?? '',\n )\n\n const dataUrl = (() => {\n if (isBlob(data)) {\n return URL.createObjectURL(data)\n }\n if (typeof data === 'string') {\n return URL.createObjectURL(new Blob([data], { type: mimeType ? mimeType.toString() : undefined }))\n }\n if (data instanceof Object && Object.keys(data).length) {\n return URL.createObjectURL(\n new Blob([JSON.stringify(data)], {\n type: mimeType ? mimeType.toString() : undefined,\n }),\n )\n }\n return ''\n })()\n\n return { mimeType, attachmentFilename, dataUrl }\n}\n"],"mappings":";;AAEA,IAAM,KAA0B,MAAgB;AAC9C,KAAI;AACF,SAAO,mBAAmB,EAAI;SACxB;AACN,SAAO;;;AAIX,SAAS,EAAgB,GAA4B;CACnD,IAAI,IAAW;AAEf,KAAI,GAAoB;EACtB,IAAM,IACJ,EAAmB,MAAM,4BAA4B,GAAG,MACxD,EAAmB,MAAM,8BAA8B,GAAG;AAE5D,EAAI,MACF,IAAW,EAAuB,EAAc,MAAM,CAAC;;AAI3D,QAAO;;AAGT,IAAM,KAAU,MAAsB,aAAa,MAE7C,KAAsB,MACnB,IACH,OAAO,KAAK,EAAQ,CAAC,KAAK,OAAS;CACjC,MAAM;CACN,OAAO,EAAQ,MAAQ;CACxB,EAAE,GACH,EAAE;AAGR,SAAgB,EAAoB,EAAE,SAAM,cAAgE;CAC1G,IAAM,IAAkB,EAAmB,EAAQ,EAE7C,IAAc,EAAgB,MAAM,MAAW,EAAO,KAAK,aAAa,KAAK,eAAe,EAC5F,IAAW,GAAa,QAAQ,IAAI,EAAS,EAAY,MAAM,GAAG,KAAA;AAsBxE,QAAO;EAAE;EAAU,oBArBQ,EACzB,EAAgB,MAAM,MAAW,EAAO,KAAK,aAAa,KAAK,sBAAsB,EAAE,SAAS,GACjG;EAmBsC,SAhBjC,EAAO,EAAK,GACP,IAAI,gBAAgB,EAAK,GAE9B,OAAO,KAAS,WACX,IAAI,gBAAgB,IAAI,KAAK,CAAC,EAAK,EAAE,EAAE,MAAM,IAAW,EAAS,UAAU,GAAG,KAAA,GAAW,CAAC,CAAC,GAEhG,aAAgB,UAAU,OAAO,KAAK,EAAK,CAAC,SACvC,IAAI,gBACT,IAAI,KAAK,CAAC,KAAK,UAAU,EAAK,CAAC,EAAE,EAC/B,MAAM,IAAW,EAAS,UAAU,GAAG,KAAA,GACxC,CAAC,CACH,GAEI;EAGuC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import t from "./SearchPopover.vue.script.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region src/components/SearchPopover.vue
|
|
5
|
+
var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-7945f74c"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { n as default };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=SearchPopover.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchPopover.vue.js","names":[],"sources":["../../src/components/SearchPopover.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ScalarPopover, ScalarTextInput } from '@scalar/components'\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":""}
|