@scalar/api-reference 1.62.5 → 1.62.7
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/CHANGELOG.md +10 -0
- package/README.md +14 -0
- package/dist/blocks/scalar-info-block/components/SpecificationVersion.vue.d.ts.map +1 -1
- package/dist/blocks/scalar-info-block/components/SpecificationVersion.vue.js.map +1 -1
- package/dist/blocks/scalar-info-block/components/SpecificationVersion.vue.script.js +2 -1
- package/dist/blocks/scalar-info-block/components/SpecificationVersion.vue.script.js.map +1 -1
- package/dist/browser/chunks/{AgentScalarChatInterface-DeQ6jlD2.js → AgentScalarChatInterface-DX-rWLia.js} +4 -4
- package/dist/browser/chunks/ScalarTextInput.vue-DuE2oAzR.js +27 -0
- package/dist/browser/chunks/basic-shape-diamond.svg-BTEOT1FL.js +1 -1
- package/dist/browser/chunks/basic-shape-hexagon.svg-BSPzaCgF.js +1 -1
- package/dist/browser/chunks/basic-shape-primary-circle-ellipse-round.svg-DKmZ8UUU.js +1 -1
- package/dist/browser/chunks/basic-shape-primary-square-rectangle.svg-n2YRykHD.js +1 -1
- package/dist/browser/chunks/basic-shape-shield.svg-Bec9cJDA.js +1 -1
- package/dist/browser/chunks/browser-67K6wmG9.js +1 -1
- package/dist/browser/chunks/computer-device-desktop-monitor.svg-m6j893Hb.js +1 -1
- package/dist/browser/chunks/computer-device-desktop.svg-Dk1VVO7k.js +1 -1
- package/dist/browser/chunks/computer-device-laptop.svg-BNGVUCYS.js +1 -1
- package/dist/browser/chunks/computer-device-mobile-phone-android-samsung-back.svg-CC4UUTFw.js +1 -1
- package/dist/browser/chunks/computer-device-mobile-phone-android-samsung.svg-D8ExpMpL.js +1 -1
- package/dist/browser/chunks/computer-device-mobile-phone-iphone-x-back.svg-CLm7sgMM.js +1 -1
- package/dist/browser/chunks/computer-device-mobile-phone-iphone-x.svg-Xrttg6_7.js +1 -1
- package/dist/browser/chunks/computer-device-mobile-tablet-touch.svg-DQ2oTvOG.js +1 -1
- package/dist/browser/chunks/computer-device-mobile-tablet.svg-DCr0XlRc.js +1 -1
- package/dist/browser/chunks/computer-device-network-ethernet-cat6.svg-AK9l0iOl.js +1 -1
- package/dist/browser/chunks/computer-device-network-lan-www.svg-gUIdFBlE.js +1 -1
- package/dist/browser/chunks/computer-device-network-wifi-connection.svg-Be-EMm4e.js +1 -1
- package/dist/browser/chunks/computer-device-network-wifi-router.svg-Dc2VzyqK.js +1 -1
- package/dist/browser/chunks/ecology-science-erlenmeyer-flask.svg-DHgy7Jfd.js +1 -1
- package/dist/browser/chunks/image-flash-lightning.svg-EETR_y1q.js +1 -1
- package/dist/browser/chunks/image-picture-flower.svg-DN1AYzJU.js +1 -1
- package/dist/browser/chunks/interface-alert-exclamation-diamond.svg-C5NozMV_.js +1 -1
- package/dist/browser/chunks/interface-alert-exclamation-triangle-warning.svg-DaAg2fF5.js +1 -1
- package/dist/browser/chunks/interface-alert-information-circle.svg-ckkkt9Mv.js +1 -1
- package/dist/browser/chunks/interface-award-crown.svg-pjvn9hY-.js +1 -1
- package/dist/browser/chunks/interface-bookmark-tag.svg-r2r-lQq4.js +1 -1
- package/dist/browser/chunks/interface-bookmark.svg-BK9HKQBT.js +1 -1
- package/dist/browser/chunks/interface-calendar-date-one.svg-DNnF0M1I.js +1 -1
- package/dist/browser/chunks/interface-content-book-open-pages.svg-CQj_w9Vp.js +1 -1
- package/dist/browser/chunks/interface-content-book-page.svg-DppoeJRe.js +1 -1
- package/dist/browser/chunks/interface-content-file.svg-CvcD7OiY.js +1 -1
- package/dist/browser/chunks/interface-content-folder.svg-BmtS5I9A.js +1 -1
- package/dist/browser/chunks/interface-copy-clipboard.svg-Be6EI50X.js +1 -1
- package/dist/browser/chunks/interface-edit-attachment.svg-G5TKzpWX.js +1 -1
- package/dist/browser/chunks/interface-edit-binocular.svg-jzL-DvGB.js +1 -1
- package/dist/browser/chunks/interface-edit-magic-wand.svg-BOTlymvp.js +1 -1
- package/dist/browser/chunks/interface-edit-tool-paint-roller.svg-s9dwryx7.js +1 -1
- package/dist/browser/chunks/interface-edit-tool-pencil.svg-C7v0dbB3.js +1 -1
- package/dist/browser/chunks/interface-favorite-award.svg-CYHUgUG0.js +1 -1
- package/dist/browser/chunks/interface-favorite-flag.svg-C10zlKOb.js +1 -1
- package/dist/browser/chunks/interface-favorite-heart.svg-eoduXxlz.js +1 -1
- package/dist/browser/chunks/interface-favorite-star.svg-BSmxJetr.js +1 -1
- package/dist/browser/chunks/interface-favorite-stars-sparkles.svg-JTFLj3Ls.js +1 -1
- package/dist/browser/chunks/interface-hierarchy-flowchart.svg-Cg_Wy0kN.js +1 -1
- package/dist/browser/chunks/interface-home-house.svg-DytoGRnv.js +1 -1
- package/dist/browser/chunks/interface-hyperlink.svg-CuEfmmQI.js +1 -1
- package/dist/browser/chunks/interface-lighting-brightness.svg-DSK0h_Pa.js +1 -1
- package/dist/browser/chunks/interface-lock-closed.svg-Cn6TaLYv.js +1 -1
- package/dist/browser/chunks/interface-lock-open-unlock.svg-CVkG5-9W.js +1 -1
- package/dist/browser/chunks/interface-login-key.svg-y-cwwXjN.js +1 -1
- package/dist/browser/chunks/interface-search.svg-S-puVFJB.js +1 -1
- package/dist/browser/chunks/interface-setting-cog.svg-CTH4_lLg.js +1 -1
- package/dist/browser/chunks/interface-share-megaphone-bullhorn.svg-Pbp39MyC.js +1 -1
- package/dist/browser/chunks/interface-share-rocket.svg-BgCsIRZO.js +1 -1
- package/dist/browser/chunks/interface-share-satellite.svg-DAMN9d5G.js +1 -1
- package/dist/browser/chunks/interface-share-space-ship.svg-Dt-Mejxk.js +1 -1
- package/dist/browser/chunks/interface-share.svg-vFYTXSti.js +1 -1
- package/dist/browser/chunks/interface-signal-square.svg-DNG4LpAe.js +1 -1
- package/dist/browser/chunks/interface-time-clock-circle.svg-Bpz-nLxo.js +1 -1
- package/dist/browser/chunks/interface-time-hour-glass.svg-D7agfKsH.js +1 -1
- package/dist/browser/chunks/interface-users-multiple.svg-CkPJBBnG.js +1 -1
- package/dist/browser/chunks/interface-weather-moon.svg-CaTZFMPO.js +1 -1
- package/dist/browser/chunks/mail-chat-bubble-square.svg-DC8RIihp.js +1 -1
- package/dist/browser/chunks/mail-send-email-paper-airplane.svg-D8OLs9jz.js +1 -1
- package/dist/browser/chunks/mail-send-envelope.svg-CV33h5Sx.js +1 -1
- package/dist/browser/chunks/modal-B2flFlrc.js +99 -0
- package/dist/browser/chunks/{modal-BxU-pFdy.js → modal-mrsrVj-1.js} +2 -2
- package/dist/browser/chunks/money-cashier-receipt.svg-CJL8C2gs.js +1 -1
- package/dist/browser/chunks/money-currency-dollar-pay.svg-VdBplCTx.js +1 -1
- package/dist/browser/chunks/money-graph-arrow-increase.svg-DcRov3zk.js +1 -1
- package/dist/browser/chunks/money-graph-bar-chart-increase.svg-Cc7KxjX-.js +1 -1
- package/dist/browser/chunks/nature-ecology-leaf.svg-DR3cTZxt.js +1 -1
- package/dist/browser/chunks/phone-telephone.svg-DyY0gUlk.js +1 -1
- package/dist/browser/chunks/programming-bug.svg-BHLT-Qhp.js +1 -1
- package/dist/browser/chunks/programming-cloud.svg-B6YW33ba.js +1 -1
- package/dist/browser/chunks/programming-computer-database-server.svg-B6o5Sdn-.js +1 -1
- package/dist/browser/chunks/programming-computer-database.svg-Cl7OVtpJ.js +1 -1
- package/dist/browser/chunks/programming-module-four-layout.svg-BQrerL1x.js +1 -1
- package/dist/browser/chunks/programming-module-three.svg-B2KTQzBM.js +1 -1
- package/dist/browser/chunks/programming-module.svg-CiID7kPm.js +1 -1
- package/dist/browser/chunks/programming-script-code.svg-D1M5rtkN.js +1 -1
- package/dist/browser/chunks/runtime-core.esm-bundler-Byrbbu5Q.js +1 -1
- package/dist/browser/chunks/shopping-cart.svg-BEegiIR9.js +1 -1
- package/dist/browser/chunks/shopping-gift-present.svg-BUHwuLix.js +1 -1
- package/dist/browser/chunks/shopping-shipping-box-parcel-package.svg-D6fxWdYx.js +1 -1
- package/dist/browser/chunks/tag-new-circle.svg-jsg1bGs0.js +1 -1
- package/dist/browser/chunks/travel-map-earth-globe.svg-ClbMiU-f.js +1 -1
- package/dist/browser/chunks/vendor-DPVN2O_H.js +306 -0
- package/dist/browser/standalone.esm.js +20 -20
- package/dist/browser/standalone.js +242 -242
- package/dist/components/ApiReference.vue.d.ts.map +1 -1
- package/dist/components/ApiReference.vue.js +1 -1
- package/dist/components/ApiReference.vue.js.map +1 -1
- package/dist/components/ApiReference.vue.script.js +16 -14
- package/dist/components/ApiReference.vue.script.js.map +1 -1
- package/dist/components/Content/Auth/Auth.vue.d.ts.map +1 -1
- package/dist/components/Content/Auth/Auth.vue.js.map +1 -1
- package/dist/components/Content/Auth/Auth.vue.script.js +25 -4
- package/dist/components/Content/Auth/Auth.vue.script.js.map +1 -1
- package/dist/components/Content/Content.vue.d.ts.map +1 -1
- package/dist/components/Content/Content.vue.js.map +1 -1
- package/dist/components/Content/Content.vue.script.js +14 -2
- package/dist/components/Content/Content.vue.script.js.map +1 -1
- package/dist/style.css +16 -16
- package/dist/vue-styles.css +16 -16
- package/package.json +20 -20
- package/dist/browser/chunks/ScalarTextInput.vue-Cb7P6-e4.js +0 -27
- package/dist/browser/chunks/modal-DQLVQL1H.js +0 -99
- package/dist/browser/chunks/vendor-CMNc6l_z.js +0 -306
|
@@ -16,6 +16,7 @@ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock
|
|
|
16
16
|
import { getAsyncApiServers, getSelectedAsyncApiServer } from "@scalar/workspace-store/channel-example";
|
|
17
17
|
import { getSelectedServer, getServers, mergeSecurity } from "@scalar/workspace-store/request-example";
|
|
18
18
|
import { getDocumentType, isAsyncApiDocument, isOpenApiDocument } from "@scalar/workspace-store/schemas/type-guards";
|
|
19
|
+
import { getResolvedRef } from "@scalar/workspace-store/helpers/get-resolved-ref";
|
|
19
20
|
import { mapHiddenClientsConfig } from "@scalar/api-client/modal/map-hidden-clients-config";
|
|
20
21
|
import { generateClientOptions } from "@scalar/blocks/code-example";
|
|
21
22
|
import { ScalarErrorBoundary } from "@scalar/components/error-boundary";
|
|
@@ -85,7 +86,18 @@ var Content_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
|
|
|
85
86
|
/** Compute the selected AsyncAPI server for the document */
|
|
86
87
|
const asyncApiSelectedServer = computed(() => getSelectedAsyncApiServer(asyncApiClientDocument.value ?? null, asyncApiServers.value));
|
|
87
88
|
/** Merge authentication config with the document security schemes */
|
|
88
|
-
const securitySchemes = computed(() =>
|
|
89
|
+
const securitySchemes = computed(() => {
|
|
90
|
+
const sourceDocument = asyncApiClientDocument.value ?? openApiClientDocument.value;
|
|
91
|
+
return mergeSecurity((sourceDocument?.components ? getResolvedRef(sourceDocument.components) : void 0)?.securitySchemes, __props.options.authentication?.securitySchemes, __props.authStore, sourceDocument?.["x-scalar-navigation"]?.name ?? "", __props.options.oauth2RedirectUri);
|
|
92
|
+
});
|
|
93
|
+
/**
|
|
94
|
+
* Whether to show the document-level auth selector.
|
|
95
|
+
*
|
|
96
|
+
* For OpenAPI it stays tied to `hideTestRequestButton`, since the auth feeds the interactive
|
|
97
|
+
* test client. AsyncAPI has no document-level test request, so its auth display is decoupled
|
|
98
|
+
* from that flag and shown whenever a document is present.
|
|
99
|
+
*/
|
|
100
|
+
const showAuthSelector = computed(() => Boolean(__props.document) && (Boolean(asyncApiDocument.value) || !__props.options.hideTestRequestButton));
|
|
89
101
|
/** Ensures firstLazyLoadComplete is set for documents with no Lazy sections (e.g. no operations/tags/models). */
|
|
90
102
|
onMounted(() => {
|
|
91
103
|
scheduleInitialLoadComplete();
|
|
@@ -155,7 +167,7 @@ var Content_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
|
|
|
155
167
|
_: 1
|
|
156
168
|
}),
|
|
157
169
|
createVNode(unref(ScalarErrorBoundary), null, {
|
|
158
|
-
default: withCtx(() => [
|
|
170
|
+
default: withCtx(() => [showAuthSelector.value ? (openBlock(), createBlock(unref(IntroductionCardItem_default), {
|
|
159
171
|
key: 0,
|
|
160
172
|
class: "scalar-reference-intro-auth scalar-client introduction-card-item leading-normal"
|
|
161
173
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Content.vue.script.js","names":[],"sources":["../../../src/components/Content/Content.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { mapHiddenClientsConfig } from '@scalar/api-client/modal/map-hidden-clients-config'\nimport { generateClientOptions } from '@scalar/blocks/code-example'\nimport { ScalarErrorBoundary } from '@scalar/components/error-boundary'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { Heading } from '@scalar/types/legacy'\nimport {\n getAsyncApiServers,\n getSelectedAsyncApiServer,\n} from '@scalar/workspace-store/channel-example'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport {\n getSelectedServer,\n getServers,\n mergeSecurity,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { TraversedEntry as TraversedEntryType } from '@scalar/workspace-store/schemas/navigation'\nimport {\n getDocumentType,\n isAsyncApiDocument,\n isOpenApiDocument,\n} from '@scalar/workspace-store/schemas/type-guards'\nimport type {\n Workspace,\n WorkspaceDocument,\n} from '@scalar/workspace-store/schemas/workspace'\nimport { computed, onMounted } from 'vue'\n\nimport { AsyncApiServerSelector } from '@/blocks/scalar-asyncapi-server-selector-block'\nimport { ClientSelector } from '@/blocks/scalar-client-selector-block'\nimport { InfoBlock } from '@/blocks/scalar-info-block'\nimport { IntroductionCardItem } from '@/blocks/scalar-info-block/'\nimport {\n getRenderableSdks,\n SdkInstallationInstructions,\n} from '@/blocks/scalar-sdk-installation-instructions'\nimport { ServerSelector } from '@/blocks/scalar-server-selector-block'\nimport { AsyncApiTraversedEntry } from '@/components/Content/AsyncApi'\nimport { Auth } from '@/components/Content/Auth'\nimport TraversedEntry from '@/components/Content/Operations/TraversedEntry.vue'\nimport { RenderPlugins } from '@/components/RenderPlugins'\nimport { SectionFlare } from '@/components/SectionFlare'\nimport { getXKeysFromObject } from '@/features/specification-extension'\nimport {\n firstLazyLoadComplete,\n scheduleInitialLoadComplete,\n} from '@/helpers/lazy-bus'\n\nconst {\n document,\n clientDocument,\n items,\n environment,\n eventBus,\n options,\n authStore,\n documentSlug,\n} = defineProps<{\n infoSectionId: string\n /** Slug of the active document, used to scope plugin view ids for navigation and deep-linking */\n documentSlug: string\n /** The subset of the configuration object required for the content component */\n options: Pick<\n ApiReferenceConfigurationRaw,\n | 'authentication'\n | 'baseServerURL'\n | 'documentDownloadType'\n | 'expandAllResponses'\n | 'hiddenClients'\n | 'hideTestRequestButton'\n | 'layout'\n | 'oauth2RedirectUri'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n | 'persistAuth'\n | 'proxyUrl'\n | 'servers'\n | 'showOperationId'\n | 'hideModels'\n | 'modelsSectionLabel'\n >\n document: WorkspaceDocument | undefined\n clientDocument: WorkspaceDocument | undefined\n authStore: AuthStore\n xScalarDefaultClient: Workspace['x-scalar-default-client']\n xScalarDefaultExample: Workspace['x-scalar-default-example']\n items: TraversedEntryType[]\n expandedItems: Record<string, boolean>\n eventBus: WorkspaceEventBus\n environment: XScalarEnvironment\n /** Heading id generator for Markdown headings */\n headingSlugGenerator: (heading: Heading) => string\n}>()\n\n/** Generate all client options so that it can be shared between the top client picker and the operations */\nconst clientOptions = computed(() =>\n generateClientOptions(mapHiddenClientsConfig(options.hiddenClients)),\n)\n\n/**\n * Custom SDK installation instructions that actually have something to render.\n * Entries with only a `lang` are ignored so we can fall back to the client\n * selector instead of showing an empty card.\n */\nconst sdkInstallation = computed(() =>\n getRenderableSdks(openApiDocument.value?.info?.['x-scalar-sdk-installation']),\n)\n\n/**\n * Narrow the (possibly AsyncAPI) documents to OpenAPI documents. api-reference\n * is OpenAPI-native, so AsyncAPI fields surface as undefined/empty.\n */\nconst openApiDocument = computed(() =>\n isOpenApiDocument(document) ? document : undefined,\n)\nconst openApiClientDocument = computed(() =>\n isOpenApiDocument(clientDocument) ? clientDocument : undefined,\n)\n\n/** AsyncAPI narrow, used to render the (currently channel-only) AsyncAPI content tree. */\nconst asyncApiDocument = computed(() =>\n isAsyncApiDocument(document) ? document : undefined,\n)\n\n/** AsyncAPI narrow of the client document, where server selection/variables are persisted. */\nconst asyncApiClientDocument = computed(() =>\n isAsyncApiDocument(clientDocument) ? clientDocument : undefined,\n)\n\nconst documentType = computed(() => getDocumentType(document))\n\nconst specificationVersion = computed(() => {\n if (isAsyncApiDocument(document)) {\n return document['x-original-aas-version'] ?? document.asyncapi\n }\n return openApiDocument.value?.['x-original-oas-version']\n})\n\n/** Computed property to get all OpenAPI extension fields from the root document object */\nconst documentExtensions = computed(() => getXKeysFromObject(document))\n\n/** Computed property to get all OpenAPI extension fields from the document's info object */\nconst infoExtensions = computed(() => getXKeysFromObject(document?.info))\n\n/** Compute the servers for the document */\nconst servers = computed(() =>\n getServers(options?.servers ?? openApiClientDocument.value?.servers, {\n baseServerUrl: options?.baseServerURL,\n documentUrl: clientDocument?.['x-scalar-original-source-url'],\n }),\n)\n\n/** Compute the selected server for the document only (for now) */\nconst selectedServer = computed(() =>\n getSelectedServer(\n openApiClientDocument.value ?? null,\n null,\n null,\n servers.value,\n ),\n)\n\n/**\n * Compute the AsyncAPI servers (all protocols, not just WebSocket) for the\n * document-level server selector.\n */\nconst asyncApiServers = computed(() =>\n asyncApiClientDocument.value\n ? getAsyncApiServers(asyncApiClientDocument.value, { webSocketOnly: false })\n : [],\n)\n\n/** Compute the selected AsyncAPI server for the document */\nconst asyncApiSelectedServer = computed(() =>\n getSelectedAsyncApiServer(\n asyncApiClientDocument.value ?? null,\n asyncApiServers.value,\n ),\n)\n\n/** Merge authentication config with the document security schemes */\nconst securitySchemes = computed(() =>\n mergeSecurity(\n openApiClientDocument.value?.components?.securitySchemes,\n options.authentication?.securitySchemes,\n authStore,\n openApiClientDocument.value?.['x-scalar-navigation']?.name ?? '',\n options.oauth2RedirectUri,\n ),\n)\n\n/** Ensures firstLazyLoadComplete is set for documents with no Lazy sections (e.g. no operations/tags/models). */\nonMounted(() => {\n scheduleInitialLoadComplete()\n})\n</script>\n<template>\n <SectionFlare />\n\n <div class=\"narrow-references-container\">\n <slot name=\"start\" />\n\n <!-- Render plugins at content.start view -->\n <RenderPlugins\n :documentSlug\n :eventBus\n :options\n viewName=\"content.start\" />\n\n <!-- Introduction -->\n\n <InfoBlock\n :id=\"infoSectionId\"\n :documentDownloadType=\"options.documentDownloadType\"\n :documentExtensions\n :documentType\n :documentUrl=\"document?.['x-scalar-original-source-url']\"\n :eventBus\n :externalDocs=\"openApiDocument?.externalDocs\"\n :headingSlugGenerator\n :info=\"document?.info\"\n :infoExtensions\n :layout=\"options.layout\"\n :specificationVersion>\n <template #selectors>\n <!-- Server Selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"servers?.length\"\n class=\"scalar-reference-intro-server scalar-client introduction-card-item text-base leading-normal [--scalar-address-bar-height:0px]\">\n <ServerSelector\n :eventBus\n :selectedServer\n :servers />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n\n <!-- AsyncAPI Server Selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"asyncApiServers.length\"\n class=\"scalar-reference-intro-server scalar-client introduction-card-item text-base leading-normal [--scalar-address-bar-height:0px]\">\n <AsyncApiServerSelector\n :eventBus\n :selectedServer=\"asyncApiSelectedServer\"\n :servers=\"asyncApiServers\" />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n\n <!-- Auth selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"document && !options.hideTestRequestButton\"\n class=\"scalar-reference-intro-auth scalar-client introduction-card-item leading-normal\">\n <Auth\n :authStore\n :document=\"clientDocument\"\n :environment\n :eventBus\n :options\n :securitySchemes\n :selectedServer />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n\n <!-- Custom SDK installation instructions, or the generic client selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"sdkInstallation.length\"\n class=\"introduction-card-item scalar-reference-intro-clients\">\n <SdkInstallationInstructions\n class=\"introduction-card-item scalar-reference-intro-clients\"\n :eventBus\n :selectedClient=\"xScalarDefaultClient\"\n :xScalarSdkInstallation=\"sdkInstallation\" />\n </IntroductionCardItem>\n <IntroductionCardItem\n v-else-if=\"clientOptions.length && !asyncApiDocument\"\n class=\"introduction-card-item scalar-reference-intro-clients\">\n <ClientSelector\n class=\"introduction-card-item scalar-reference-intro-clients\"\n :clientOptions\n :eventBus\n :selectedClient=\"xScalarDefaultClient\" />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n </template>\n </InfoBlock>\n\n <!-- Render traversed operations and webhooks -->\n <!-- Use recursive component for cleaner rendering -->\n <TraversedEntry\n v-if=\"items.length && openApiDocument\"\n :authStore\n :clientOptions\n :document=\"openApiDocument\"\n :entries=\"items\"\n :eventBus\n :expandedItems\n :options\n :securitySchemes\n :selectedClient=\"xScalarDefaultClient\"\n :selectedExample=\"xScalarDefaultExample\"\n :selectedServer>\n </TraversedEntry>\n\n <!-- AsyncAPI: render channels grouped by tag, mirroring the sidebar order. -->\n <AsyncApiTraversedEntry\n v-else-if=\"items.length && asyncApiDocument\"\n :document=\"asyncApiDocument\"\n :entries=\"items\"\n :eventBus\n :expandedItems\n :options />\n\n <!-- Render plugins at content.end view -->\n <RenderPlugins\n :documentSlug\n :eventBus\n :options\n viewName=\"content.end\" />\n\n <slot name=\"end\" />\n <!-- Placeholder content to allow the active item to be scrolled to the top while the rest of the content is lazy loaded -->\n <div\n v-if=\"!firstLazyLoadComplete\"\n class=\"h-dvh\"></div>\n </div>\n</template>\n\n<style>\n.narrow-references-container {\n container-name: narrow-references-container;\n container-type: inline-size;\n}\n</style>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Content.vue.script.js","names":[],"sources":["../../../src/components/Content/Content.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { mapHiddenClientsConfig } from '@scalar/api-client/modal/map-hidden-clients-config'\nimport { generateClientOptions } from '@scalar/blocks/code-example'\nimport { ScalarErrorBoundary } from '@scalar/components/error-boundary'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { Heading } from '@scalar/types/legacy'\nimport {\n getAsyncApiServers,\n getSelectedAsyncApiServer,\n} from '@scalar/workspace-store/channel-example'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport {\n getSelectedServer,\n getServers,\n mergeSecurity,\n} from '@scalar/workspace-store/request-example'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { TraversedEntry as TraversedEntryType } from '@scalar/workspace-store/schemas/navigation'\nimport {\n getDocumentType,\n isAsyncApiDocument,\n isOpenApiDocument,\n} from '@scalar/workspace-store/schemas/type-guards'\nimport type {\n Workspace,\n WorkspaceDocument,\n} from '@scalar/workspace-store/schemas/workspace'\nimport { computed, onMounted } from 'vue'\n\nimport { AsyncApiServerSelector } from '@/blocks/scalar-asyncapi-server-selector-block'\nimport { ClientSelector } from '@/blocks/scalar-client-selector-block'\nimport { InfoBlock } from '@/blocks/scalar-info-block'\nimport { IntroductionCardItem } from '@/blocks/scalar-info-block/'\nimport {\n getRenderableSdks,\n SdkInstallationInstructions,\n} from '@/blocks/scalar-sdk-installation-instructions'\nimport { ServerSelector } from '@/blocks/scalar-server-selector-block'\nimport { AsyncApiTraversedEntry } from '@/components/Content/AsyncApi'\nimport { Auth } from '@/components/Content/Auth'\nimport TraversedEntry from '@/components/Content/Operations/TraversedEntry.vue'\nimport { RenderPlugins } from '@/components/RenderPlugins'\nimport { SectionFlare } from '@/components/SectionFlare'\nimport { getXKeysFromObject } from '@/features/specification-extension'\nimport {\n firstLazyLoadComplete,\n scheduleInitialLoadComplete,\n} from '@/helpers/lazy-bus'\n\nconst {\n document,\n clientDocument,\n items,\n environment,\n eventBus,\n options,\n authStore,\n documentSlug,\n} = defineProps<{\n infoSectionId: string\n /** Slug of the active document, used to scope plugin view ids for navigation and deep-linking */\n documentSlug: string\n /** The subset of the configuration object required for the content component */\n options: Pick<\n ApiReferenceConfigurationRaw,\n | 'authentication'\n | 'baseServerURL'\n | 'documentDownloadType'\n | 'expandAllResponses'\n | 'hiddenClients'\n | 'hideTestRequestButton'\n | 'layout'\n | 'oauth2RedirectUri'\n | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'expandAllSchemaProperties'\n | 'persistAuth'\n | 'proxyUrl'\n | 'servers'\n | 'showOperationId'\n | 'hideModels'\n | 'modelsSectionLabel'\n >\n document: WorkspaceDocument | undefined\n clientDocument: WorkspaceDocument | undefined\n authStore: AuthStore\n xScalarDefaultClient: Workspace['x-scalar-default-client']\n xScalarDefaultExample: Workspace['x-scalar-default-example']\n items: TraversedEntryType[]\n expandedItems: Record<string, boolean>\n eventBus: WorkspaceEventBus\n environment: XScalarEnvironment\n /** Heading id generator for Markdown headings */\n headingSlugGenerator: (heading: Heading) => string\n}>()\n\n/** Generate all client options so that it can be shared between the top client picker and the operations */\nconst clientOptions = computed(() =>\n generateClientOptions(mapHiddenClientsConfig(options.hiddenClients)),\n)\n\n/**\n * Custom SDK installation instructions that actually have something to render.\n * Entries with only a `lang` are ignored so we can fall back to the client\n * selector instead of showing an empty card.\n */\nconst sdkInstallation = computed(() =>\n getRenderableSdks(openApiDocument.value?.info?.['x-scalar-sdk-installation']),\n)\n\n/**\n * Narrow the (possibly AsyncAPI) documents to OpenAPI documents. api-reference\n * is OpenAPI-native, so AsyncAPI fields surface as undefined/empty.\n */\nconst openApiDocument = computed(() =>\n isOpenApiDocument(document) ? document : undefined,\n)\nconst openApiClientDocument = computed(() =>\n isOpenApiDocument(clientDocument) ? clientDocument : undefined,\n)\n\n/** AsyncAPI narrow, used to render the (currently channel-only) AsyncAPI content tree. */\nconst asyncApiDocument = computed(() =>\n isAsyncApiDocument(document) ? document : undefined,\n)\n\n/** AsyncAPI narrow of the client document, where server selection/variables are persisted. */\nconst asyncApiClientDocument = computed(() =>\n isAsyncApiDocument(clientDocument) ? clientDocument : undefined,\n)\n\nconst documentType = computed(() => getDocumentType(document))\n\nconst specificationVersion = computed(() => {\n if (isAsyncApiDocument(document)) {\n return document['x-original-aas-version'] ?? document.asyncapi\n }\n return openApiDocument.value?.['x-original-oas-version']\n})\n\n/** Computed property to get all OpenAPI extension fields from the root document object */\nconst documentExtensions = computed(() => getXKeysFromObject(document))\n\n/** Computed property to get all OpenAPI extension fields from the document's info object */\nconst infoExtensions = computed(() => getXKeysFromObject(document?.info))\n\n/** Compute the servers for the document */\nconst servers = computed(() =>\n getServers(options?.servers ?? openApiClientDocument.value?.servers, {\n baseServerUrl: options?.baseServerURL,\n documentUrl: clientDocument?.['x-scalar-original-source-url'],\n }),\n)\n\n/** Compute the selected server for the document only (for now) */\nconst selectedServer = computed(() =>\n getSelectedServer(\n openApiClientDocument.value ?? null,\n null,\n null,\n servers.value,\n ),\n)\n\n/**\n * Compute the AsyncAPI servers (all protocols, not just WebSocket) for the\n * document-level server selector.\n */\nconst asyncApiServers = computed(() =>\n asyncApiClientDocument.value\n ? getAsyncApiServers(asyncApiClientDocument.value, { webSocketOnly: false })\n : [],\n)\n\n/** Compute the selected AsyncAPI server for the document */\nconst asyncApiSelectedServer = computed(() =>\n getSelectedAsyncApiServer(\n asyncApiClientDocument.value ?? null,\n asyncApiServers.value,\n ),\n)\n\n/** Merge authentication config with the document security schemes */\nconst securitySchemes = computed(() => {\n // AsyncAPI stores its security schemes in the same `components.securitySchemes` slot and shares\n // the http/apiKey/oauth2/openIdConnect shapes with OpenAPI; broker-specific types (scramSha*,\n // plain, X509, …) flow through unchanged and degrade gracefully downstream. Both document types\n // persist the auth-store scope key on `x-scalar-navigation.name`, so a single call handles both.\n const sourceDocument =\n asyncApiClientDocument.value ?? openApiClientDocument.value\n const components = sourceDocument?.components\n ? getResolvedRef(sourceDocument.components)\n : undefined\n\n return mergeSecurity(\n components?.securitySchemes,\n options.authentication?.securitySchemes,\n authStore,\n sourceDocument?.['x-scalar-navigation']?.name ?? '',\n options.oauth2RedirectUri,\n )\n})\n\n/**\n * Whether to show the document-level auth selector.\n *\n * For OpenAPI it stays tied to `hideTestRequestButton`, since the auth feeds the interactive\n * test client. AsyncAPI has no document-level test request, so its auth display is decoupled\n * from that flag and shown whenever a document is present.\n */\nconst showAuthSelector = computed(\n () =>\n Boolean(document) &&\n (Boolean(asyncApiDocument.value) || !options.hideTestRequestButton),\n)\n\n/** Ensures firstLazyLoadComplete is set for documents with no Lazy sections (e.g. no operations/tags/models). */\nonMounted(() => {\n scheduleInitialLoadComplete()\n})\n</script>\n<template>\n <SectionFlare />\n\n <div class=\"narrow-references-container\">\n <slot name=\"start\" />\n\n <!-- Render plugins at content.start view -->\n <RenderPlugins\n :documentSlug\n :eventBus\n :options\n viewName=\"content.start\" />\n\n <!-- Introduction -->\n\n <InfoBlock\n :id=\"infoSectionId\"\n :documentDownloadType=\"options.documentDownloadType\"\n :documentExtensions\n :documentType\n :documentUrl=\"document?.['x-scalar-original-source-url']\"\n :eventBus\n :externalDocs=\"openApiDocument?.externalDocs\"\n :headingSlugGenerator\n :info=\"document?.info\"\n :infoExtensions\n :layout=\"options.layout\"\n :specificationVersion>\n <template #selectors>\n <!-- Server Selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"servers?.length\"\n class=\"scalar-reference-intro-server scalar-client introduction-card-item text-base leading-normal [--scalar-address-bar-height:0px]\">\n <ServerSelector\n :eventBus\n :selectedServer\n :servers />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n\n <!-- AsyncAPI Server Selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"asyncApiServers.length\"\n class=\"scalar-reference-intro-server scalar-client introduction-card-item text-base leading-normal [--scalar-address-bar-height:0px]\">\n <AsyncApiServerSelector\n :eventBus\n :selectedServer=\"asyncApiSelectedServer\"\n :servers=\"asyncApiServers\" />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n\n <!-- Auth selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"showAuthSelector\"\n class=\"scalar-reference-intro-auth scalar-client introduction-card-item leading-normal\">\n <Auth\n :authStore\n :document=\"clientDocument\"\n :environment\n :eventBus\n :options\n :securitySchemes\n :selectedServer />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n\n <!-- Custom SDK installation instructions, or the generic client selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"sdkInstallation.length\"\n class=\"introduction-card-item scalar-reference-intro-clients\">\n <SdkInstallationInstructions\n class=\"introduction-card-item scalar-reference-intro-clients\"\n :eventBus\n :selectedClient=\"xScalarDefaultClient\"\n :xScalarSdkInstallation=\"sdkInstallation\" />\n </IntroductionCardItem>\n <IntroductionCardItem\n v-else-if=\"clientOptions.length && !asyncApiDocument\"\n class=\"introduction-card-item scalar-reference-intro-clients\">\n <ClientSelector\n class=\"introduction-card-item scalar-reference-intro-clients\"\n :clientOptions\n :eventBus\n :selectedClient=\"xScalarDefaultClient\" />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n </template>\n </InfoBlock>\n\n <!-- Render traversed operations and webhooks -->\n <!-- Use recursive component for cleaner rendering -->\n <TraversedEntry\n v-if=\"items.length && openApiDocument\"\n :authStore\n :clientOptions\n :document=\"openApiDocument\"\n :entries=\"items\"\n :eventBus\n :expandedItems\n :options\n :securitySchemes\n :selectedClient=\"xScalarDefaultClient\"\n :selectedExample=\"xScalarDefaultExample\"\n :selectedServer>\n </TraversedEntry>\n\n <!-- AsyncAPI: render channels grouped by tag, mirroring the sidebar order. -->\n <AsyncApiTraversedEntry\n v-else-if=\"items.length && asyncApiDocument\"\n :document=\"asyncApiDocument\"\n :entries=\"items\"\n :eventBus\n :expandedItems\n :options />\n\n <!-- Render plugins at content.end view -->\n <RenderPlugins\n :documentSlug\n :eventBus\n :options\n viewName=\"content.end\" />\n\n <slot name=\"end\" />\n <!-- Placeholder content to allow the active item to be scrolled to the top while the rest of the content is lazy loaded -->\n <div\n v-if=\"!firstLazyLoadComplete\"\n class=\"h-dvh\"></div>\n </div>\n</template>\n\n<style>\n.narrow-references-container {\n container-name: narrow-references-container;\n container-type: inline-size;\n}\n</style>\n"],"mappings":"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"}
|
package/dist/style.css
CHANGED
|
@@ -11855,7 +11855,7 @@ body {
|
|
|
11855
11855
|
|
|
11856
11856
|
/* Configurable Layout Variables */
|
|
11857
11857
|
@layer scalar-config {
|
|
11858
|
-
.scalar-api-reference[data-v-
|
|
11858
|
+
.scalar-api-reference[data-v-d3902f0e] {
|
|
11859
11859
|
/* The header height */
|
|
11860
11860
|
--refs-header-height: calc(
|
|
11861
11861
|
var(--scalar-custom-header-height, 0px) + var(--scalar-header-height, 0px)
|
|
@@ -11877,20 +11877,20 @@ body {
|
|
|
11877
11877
|
/* The maximum width of the content column */
|
|
11878
11878
|
--refs-content-max-width: var(--scalar-content-max-width, 1540px);
|
|
11879
11879
|
}
|
|
11880
|
-
.scalar-api-reference.references-classic[data-v-
|
|
11880
|
+
.scalar-api-reference.references-classic[data-v-d3902f0e] {
|
|
11881
11881
|
/* Classic layout is wider */
|
|
11882
11882
|
--refs-content-max-width: var(--scalar-content-max-width, 1420px);
|
|
11883
11883
|
min-height: 100dvh;
|
|
11884
11884
|
--refs-sidebar-width: 0;
|
|
11885
11885
|
}
|
|
11886
11886
|
}
|
|
11887
|
-
.t-doc__sidebar[data-v-
|
|
11887
|
+
.t-doc__sidebar[data-v-d3902f0e] {
|
|
11888
11888
|
z-index: 10;
|
|
11889
11889
|
}
|
|
11890
11890
|
|
|
11891
11891
|
/* ----------------------------------------------------- */
|
|
11892
11892
|
/* References Layout */
|
|
11893
|
-
.references-layout[data-v-
|
|
11893
|
+
.references-layout[data-v-d3902f0e] {
|
|
11894
11894
|
/* Try to fill the container */
|
|
11895
11895
|
min-height: 100dvh;
|
|
11896
11896
|
min-width: 100%;
|
|
@@ -11914,32 +11914,32 @@ body {
|
|
|
11914
11914
|
|
|
11915
11915
|
background: var(--scalar-background-1);
|
|
11916
11916
|
}
|
|
11917
|
-
.references-editor[data-v-
|
|
11917
|
+
.references-editor[data-v-d3902f0e] {
|
|
11918
11918
|
grid-area: editor;
|
|
11919
11919
|
display: flex;
|
|
11920
11920
|
min-width: 0;
|
|
11921
11921
|
background: var(--scalar-background-1);
|
|
11922
11922
|
}
|
|
11923
|
-
.references-rendered[data-v-
|
|
11923
|
+
.references-rendered[data-v-d3902f0e] {
|
|
11924
11924
|
position: relative;
|
|
11925
11925
|
grid-area: rendered;
|
|
11926
11926
|
min-width: 0;
|
|
11927
11927
|
background: var(--scalar-background-1);
|
|
11928
11928
|
}
|
|
11929
|
-
.scalar-api-reference.references-classic[data-v-
|
|
11930
|
-
.references-classic .references-rendered[data-v-
|
|
11929
|
+
.scalar-api-reference.references-classic[data-v-d3902f0e],
|
|
11930
|
+
.references-classic .references-rendered[data-v-d3902f0e] {
|
|
11931
11931
|
height: initial !important;
|
|
11932
11932
|
max-height: initial !important;
|
|
11933
11933
|
}
|
|
11934
11934
|
@layer scalar-config {
|
|
11935
|
-
.references-sidebar[data-v-
|
|
11935
|
+
.references-sidebar[data-v-d3902f0e] {
|
|
11936
11936
|
/* Set a default width if references are enabled */
|
|
11937
11937
|
--refs-sidebar-width: var(--scalar-sidebar-width, 288px);
|
|
11938
11938
|
}
|
|
11939
11939
|
}
|
|
11940
11940
|
|
|
11941
11941
|
/* Footer */
|
|
11942
|
-
.references-footer[data-v-
|
|
11942
|
+
.references-footer[data-v-d3902f0e] {
|
|
11943
11943
|
grid-area: footer;
|
|
11944
11944
|
}
|
|
11945
11945
|
/* ----------------------------------------------------- */
|
|
@@ -11955,12 +11955,12 @@ body {
|
|
|
11955
11955
|
*/
|
|
11956
11956
|
@media (width < 1000px) {
|
|
11957
11957
|
/* Keep toolbar hidden on mobile without forcing desktop display mode. */
|
|
11958
|
-
.references-developer-tools[data-v-
|
|
11958
|
+
.references-developer-tools[data-v-d3902f0e] {
|
|
11959
11959
|
display: none;
|
|
11960
11960
|
}
|
|
11961
11961
|
|
|
11962
11962
|
/* Stack view on mobile */
|
|
11963
|
-
.references-layout[data-v-
|
|
11963
|
+
.references-layout[data-v-d3902f0e] {
|
|
11964
11964
|
/* Adjust the sidebar height to the viewport height minus the header height */
|
|
11965
11965
|
--refs-sidebar-height: calc(
|
|
11966
11966
|
var(--full-height, 100dvh) - var(--scalar-custom-header-height, 0px)
|
|
@@ -11975,13 +11975,13 @@ body {
|
|
|
11975
11975
|
'rendered'
|
|
11976
11976
|
'footer';
|
|
11977
11977
|
}
|
|
11978
|
-
.references-editable[data-v-
|
|
11978
|
+
.references-editable[data-v-d3902f0e] {
|
|
11979
11979
|
grid-template-areas:
|
|
11980
11980
|
'header'
|
|
11981
11981
|
'navigation'
|
|
11982
11982
|
'editor';
|
|
11983
11983
|
}
|
|
11984
|
-
.references-rendered[data-v-
|
|
11984
|
+
.references-rendered[data-v-d3902f0e] {
|
|
11985
11985
|
position: static;
|
|
11986
11986
|
}
|
|
11987
11987
|
}
|
|
@@ -11993,12 +11993,12 @@ body {
|
|
|
11993
11993
|
*/
|
|
11994
11994
|
/* Match the layout breakpoint above so the mobile header height is only applied below `lg`. */
|
|
11995
11995
|
@media (width < 1000px) {
|
|
11996
|
-
.scalar-api-references-standalone-mobile[data-v-
|
|
11996
|
+
.scalar-api-references-standalone-mobile[data-v-d3902f0e]:not(.references-classic) {
|
|
11997
11997
|
--scalar-header-height: 50px;
|
|
11998
11998
|
}
|
|
11999
11999
|
}
|
|
12000
12000
|
|
|
12001
|
-
.darklight-reference[data-v-
|
|
12001
|
+
.darklight-reference[data-v-d3902f0e] {
|
|
12002
12002
|
width: 100%;
|
|
12003
12003
|
margin-top: auto;
|
|
12004
12004
|
}
|
package/dist/vue-styles.css
CHANGED
|
@@ -2862,7 +2862,7 @@ body {
|
|
|
2862
2862
|
|
|
2863
2863
|
/* Configurable Layout Variables */
|
|
2864
2864
|
@layer scalar-config {
|
|
2865
|
-
.scalar-api-reference[data-v-
|
|
2865
|
+
.scalar-api-reference[data-v-d3902f0e] {
|
|
2866
2866
|
/* The header height */
|
|
2867
2867
|
--refs-header-height: calc(
|
|
2868
2868
|
var(--scalar-custom-header-height, 0px) + var(--scalar-header-height, 0px)
|
|
@@ -2884,20 +2884,20 @@ body {
|
|
|
2884
2884
|
/* The maximum width of the content column */
|
|
2885
2885
|
--refs-content-max-width: var(--scalar-content-max-width, 1540px);
|
|
2886
2886
|
}
|
|
2887
|
-
.scalar-api-reference.references-classic[data-v-
|
|
2887
|
+
.scalar-api-reference.references-classic[data-v-d3902f0e] {
|
|
2888
2888
|
/* Classic layout is wider */
|
|
2889
2889
|
--refs-content-max-width: var(--scalar-content-max-width, 1420px);
|
|
2890
2890
|
min-height: 100dvh;
|
|
2891
2891
|
--refs-sidebar-width: 0;
|
|
2892
2892
|
}
|
|
2893
2893
|
}
|
|
2894
|
-
.t-doc__sidebar[data-v-
|
|
2894
|
+
.t-doc__sidebar[data-v-d3902f0e] {
|
|
2895
2895
|
z-index: 10;
|
|
2896
2896
|
}
|
|
2897
2897
|
|
|
2898
2898
|
/* ----------------------------------------------------- */
|
|
2899
2899
|
/* References Layout */
|
|
2900
|
-
.references-layout[data-v-
|
|
2900
|
+
.references-layout[data-v-d3902f0e] {
|
|
2901
2901
|
/* Try to fill the container */
|
|
2902
2902
|
min-height: 100dvh;
|
|
2903
2903
|
min-width: 100%;
|
|
@@ -2921,32 +2921,32 @@ body {
|
|
|
2921
2921
|
|
|
2922
2922
|
background: var(--scalar-background-1);
|
|
2923
2923
|
}
|
|
2924
|
-
.references-editor[data-v-
|
|
2924
|
+
.references-editor[data-v-d3902f0e] {
|
|
2925
2925
|
grid-area: editor;
|
|
2926
2926
|
display: flex;
|
|
2927
2927
|
min-width: 0;
|
|
2928
2928
|
background: var(--scalar-background-1);
|
|
2929
2929
|
}
|
|
2930
|
-
.references-rendered[data-v-
|
|
2930
|
+
.references-rendered[data-v-d3902f0e] {
|
|
2931
2931
|
position: relative;
|
|
2932
2932
|
grid-area: rendered;
|
|
2933
2933
|
min-width: 0;
|
|
2934
2934
|
background: var(--scalar-background-1);
|
|
2935
2935
|
}
|
|
2936
|
-
.scalar-api-reference.references-classic[data-v-
|
|
2937
|
-
.references-classic .references-rendered[data-v-
|
|
2936
|
+
.scalar-api-reference.references-classic[data-v-d3902f0e],
|
|
2937
|
+
.references-classic .references-rendered[data-v-d3902f0e] {
|
|
2938
2938
|
height: initial !important;
|
|
2939
2939
|
max-height: initial !important;
|
|
2940
2940
|
}
|
|
2941
2941
|
@layer scalar-config {
|
|
2942
|
-
.references-sidebar[data-v-
|
|
2942
|
+
.references-sidebar[data-v-d3902f0e] {
|
|
2943
2943
|
/* Set a default width if references are enabled */
|
|
2944
2944
|
--refs-sidebar-width: var(--scalar-sidebar-width, 288px);
|
|
2945
2945
|
}
|
|
2946
2946
|
}
|
|
2947
2947
|
|
|
2948
2948
|
/* Footer */
|
|
2949
|
-
.references-footer[data-v-
|
|
2949
|
+
.references-footer[data-v-d3902f0e] {
|
|
2950
2950
|
grid-area: footer;
|
|
2951
2951
|
}
|
|
2952
2952
|
/* ----------------------------------------------------- */
|
|
@@ -2962,12 +2962,12 @@ body {
|
|
|
2962
2962
|
*/
|
|
2963
2963
|
@media (width < 1000px) {
|
|
2964
2964
|
/* Keep toolbar hidden on mobile without forcing desktop display mode. */
|
|
2965
|
-
.references-developer-tools[data-v-
|
|
2965
|
+
.references-developer-tools[data-v-d3902f0e] {
|
|
2966
2966
|
display: none;
|
|
2967
2967
|
}
|
|
2968
2968
|
|
|
2969
2969
|
/* Stack view on mobile */
|
|
2970
|
-
.references-layout[data-v-
|
|
2970
|
+
.references-layout[data-v-d3902f0e] {
|
|
2971
2971
|
/* Adjust the sidebar height to the viewport height minus the header height */
|
|
2972
2972
|
--refs-sidebar-height: calc(
|
|
2973
2973
|
var(--full-height, 100dvh) - var(--scalar-custom-header-height, 0px)
|
|
@@ -2982,13 +2982,13 @@ body {
|
|
|
2982
2982
|
'rendered'
|
|
2983
2983
|
'footer';
|
|
2984
2984
|
}
|
|
2985
|
-
.references-editable[data-v-
|
|
2985
|
+
.references-editable[data-v-d3902f0e] {
|
|
2986
2986
|
grid-template-areas:
|
|
2987
2987
|
'header'
|
|
2988
2988
|
'navigation'
|
|
2989
2989
|
'editor';
|
|
2990
2990
|
}
|
|
2991
|
-
.references-rendered[data-v-
|
|
2991
|
+
.references-rendered[data-v-d3902f0e] {
|
|
2992
2992
|
position: static;
|
|
2993
2993
|
}
|
|
2994
2994
|
}
|
|
@@ -3000,12 +3000,12 @@ body {
|
|
|
3000
3000
|
*/
|
|
3001
3001
|
/* Match the layout breakpoint above so the mobile header height is only applied below `lg`. */
|
|
3002
3002
|
@media (width < 1000px) {
|
|
3003
|
-
.scalar-api-references-standalone-mobile[data-v-
|
|
3003
|
+
.scalar-api-references-standalone-mobile[data-v-d3902f0e]:not(.references-classic) {
|
|
3004
3004
|
--scalar-header-height: 50px;
|
|
3005
3005
|
}
|
|
3006
3006
|
}
|
|
3007
3007
|
|
|
3008
|
-
.darklight-reference[data-v-
|
|
3008
|
+
.darklight-reference[data-v-d3902f0e] {
|
|
3009
3009
|
width: 100%;
|
|
3010
3010
|
margin-top: auto;
|
|
3011
3011
|
}
|
package/package.json
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"vue",
|
|
21
21
|
"vue3"
|
|
22
22
|
],
|
|
23
|
-
"version": "1.62.
|
|
23
|
+
"version": "1.62.7",
|
|
24
24
|
"engines": {
|
|
25
25
|
"node": ">=22"
|
|
26
26
|
},
|
|
@@ -94,23 +94,23 @@
|
|
|
94
94
|
"nanoid": "^5.1.6",
|
|
95
95
|
"vue": "^3.5.30",
|
|
96
96
|
"yaml": "^2.8.3",
|
|
97
|
-
"@scalar/agent-chat": "0.12.
|
|
98
|
-
"@scalar/
|
|
99
|
-
"@scalar/
|
|
100
|
-
"@scalar/components": "0.27.
|
|
101
|
-
"@scalar/
|
|
102
|
-
"@scalar/helpers": "0.9.
|
|
103
|
-
"@scalar/
|
|
104
|
-
"@scalar/schemas": "0.7.
|
|
105
|
-
"@scalar/
|
|
106
|
-
"@scalar/
|
|
107
|
-
"@scalar/
|
|
108
|
-
"@scalar/
|
|
109
|
-
"@scalar/types": "0.16.
|
|
110
|
-
"@scalar/
|
|
111
|
-
"@scalar/use-toasts": "0.10.
|
|
112
|
-
"@scalar/validation": "0.6.
|
|
113
|
-
"@scalar/workspace-store": "0.55.
|
|
97
|
+
"@scalar/agent-chat": "0.12.20",
|
|
98
|
+
"@scalar/blocks": "0.1.6",
|
|
99
|
+
"@scalar/api-client": "3.13.5",
|
|
100
|
+
"@scalar/components": "0.27.7",
|
|
101
|
+
"@scalar/code-highlight": "0.4.2",
|
|
102
|
+
"@scalar/helpers": "0.9.1",
|
|
103
|
+
"@scalar/oas-utils": "0.19.6",
|
|
104
|
+
"@scalar/schemas": "0.7.3",
|
|
105
|
+
"@scalar/icons": "0.7.4",
|
|
106
|
+
"@scalar/sidebar": "0.9.31",
|
|
107
|
+
"@scalar/snippetz": "0.9.22",
|
|
108
|
+
"@scalar/themes": "0.16.3",
|
|
109
|
+
"@scalar/types": "0.16.3",
|
|
110
|
+
"@scalar/use-hooks": "0.4.8",
|
|
111
|
+
"@scalar/use-toasts": "0.10.3",
|
|
112
|
+
"@scalar/validation": "0.6.1",
|
|
113
|
+
"@scalar/workspace-store": "0.55.5"
|
|
114
114
|
},
|
|
115
115
|
"devDependencies": {
|
|
116
116
|
"@hono/node-server": "^1.19.10",
|
|
@@ -129,8 +129,8 @@
|
|
|
129
129
|
"vite-plugin-banner": "^0.8.1",
|
|
130
130
|
"vite-plugin-css-injected-by-js": "^5.0.0",
|
|
131
131
|
"vitest": "4.1.0",
|
|
132
|
-
"@scalar/
|
|
133
|
-
"@scalar/
|
|
132
|
+
"@scalar/core": "0.5.24",
|
|
133
|
+
"@scalar/galaxy": "0.6.10"
|
|
134
134
|
},
|
|
135
135
|
"scripts": {
|
|
136
136
|
"build": "pnpm build:default && pnpm build:styles && pnpm build:standalone && pnpm build:standalone:esm && vue-tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
|