@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.
Files changed (118) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +14 -0
  3. package/dist/blocks/scalar-info-block/components/SpecificationVersion.vue.d.ts.map +1 -1
  4. package/dist/blocks/scalar-info-block/components/SpecificationVersion.vue.js.map +1 -1
  5. package/dist/blocks/scalar-info-block/components/SpecificationVersion.vue.script.js +2 -1
  6. package/dist/blocks/scalar-info-block/components/SpecificationVersion.vue.script.js.map +1 -1
  7. package/dist/browser/chunks/{AgentScalarChatInterface-DeQ6jlD2.js → AgentScalarChatInterface-DX-rWLia.js} +4 -4
  8. package/dist/browser/chunks/ScalarTextInput.vue-DuE2oAzR.js +27 -0
  9. package/dist/browser/chunks/basic-shape-diamond.svg-BTEOT1FL.js +1 -1
  10. package/dist/browser/chunks/basic-shape-hexagon.svg-BSPzaCgF.js +1 -1
  11. package/dist/browser/chunks/basic-shape-primary-circle-ellipse-round.svg-DKmZ8UUU.js +1 -1
  12. package/dist/browser/chunks/basic-shape-primary-square-rectangle.svg-n2YRykHD.js +1 -1
  13. package/dist/browser/chunks/basic-shape-shield.svg-Bec9cJDA.js +1 -1
  14. package/dist/browser/chunks/browser-67K6wmG9.js +1 -1
  15. package/dist/browser/chunks/computer-device-desktop-monitor.svg-m6j893Hb.js +1 -1
  16. package/dist/browser/chunks/computer-device-desktop.svg-Dk1VVO7k.js +1 -1
  17. package/dist/browser/chunks/computer-device-laptop.svg-BNGVUCYS.js +1 -1
  18. package/dist/browser/chunks/computer-device-mobile-phone-android-samsung-back.svg-CC4UUTFw.js +1 -1
  19. package/dist/browser/chunks/computer-device-mobile-phone-android-samsung.svg-D8ExpMpL.js +1 -1
  20. package/dist/browser/chunks/computer-device-mobile-phone-iphone-x-back.svg-CLm7sgMM.js +1 -1
  21. package/dist/browser/chunks/computer-device-mobile-phone-iphone-x.svg-Xrttg6_7.js +1 -1
  22. package/dist/browser/chunks/computer-device-mobile-tablet-touch.svg-DQ2oTvOG.js +1 -1
  23. package/dist/browser/chunks/computer-device-mobile-tablet.svg-DCr0XlRc.js +1 -1
  24. package/dist/browser/chunks/computer-device-network-ethernet-cat6.svg-AK9l0iOl.js +1 -1
  25. package/dist/browser/chunks/computer-device-network-lan-www.svg-gUIdFBlE.js +1 -1
  26. package/dist/browser/chunks/computer-device-network-wifi-connection.svg-Be-EMm4e.js +1 -1
  27. package/dist/browser/chunks/computer-device-network-wifi-router.svg-Dc2VzyqK.js +1 -1
  28. package/dist/browser/chunks/ecology-science-erlenmeyer-flask.svg-DHgy7Jfd.js +1 -1
  29. package/dist/browser/chunks/image-flash-lightning.svg-EETR_y1q.js +1 -1
  30. package/dist/browser/chunks/image-picture-flower.svg-DN1AYzJU.js +1 -1
  31. package/dist/browser/chunks/interface-alert-exclamation-diamond.svg-C5NozMV_.js +1 -1
  32. package/dist/browser/chunks/interface-alert-exclamation-triangle-warning.svg-DaAg2fF5.js +1 -1
  33. package/dist/browser/chunks/interface-alert-information-circle.svg-ckkkt9Mv.js +1 -1
  34. package/dist/browser/chunks/interface-award-crown.svg-pjvn9hY-.js +1 -1
  35. package/dist/browser/chunks/interface-bookmark-tag.svg-r2r-lQq4.js +1 -1
  36. package/dist/browser/chunks/interface-bookmark.svg-BK9HKQBT.js +1 -1
  37. package/dist/browser/chunks/interface-calendar-date-one.svg-DNnF0M1I.js +1 -1
  38. package/dist/browser/chunks/interface-content-book-open-pages.svg-CQj_w9Vp.js +1 -1
  39. package/dist/browser/chunks/interface-content-book-page.svg-DppoeJRe.js +1 -1
  40. package/dist/browser/chunks/interface-content-file.svg-CvcD7OiY.js +1 -1
  41. package/dist/browser/chunks/interface-content-folder.svg-BmtS5I9A.js +1 -1
  42. package/dist/browser/chunks/interface-copy-clipboard.svg-Be6EI50X.js +1 -1
  43. package/dist/browser/chunks/interface-edit-attachment.svg-G5TKzpWX.js +1 -1
  44. package/dist/browser/chunks/interface-edit-binocular.svg-jzL-DvGB.js +1 -1
  45. package/dist/browser/chunks/interface-edit-magic-wand.svg-BOTlymvp.js +1 -1
  46. package/dist/browser/chunks/interface-edit-tool-paint-roller.svg-s9dwryx7.js +1 -1
  47. package/dist/browser/chunks/interface-edit-tool-pencil.svg-C7v0dbB3.js +1 -1
  48. package/dist/browser/chunks/interface-favorite-award.svg-CYHUgUG0.js +1 -1
  49. package/dist/browser/chunks/interface-favorite-flag.svg-C10zlKOb.js +1 -1
  50. package/dist/browser/chunks/interface-favorite-heart.svg-eoduXxlz.js +1 -1
  51. package/dist/browser/chunks/interface-favorite-star.svg-BSmxJetr.js +1 -1
  52. package/dist/browser/chunks/interface-favorite-stars-sparkles.svg-JTFLj3Ls.js +1 -1
  53. package/dist/browser/chunks/interface-hierarchy-flowchart.svg-Cg_Wy0kN.js +1 -1
  54. package/dist/browser/chunks/interface-home-house.svg-DytoGRnv.js +1 -1
  55. package/dist/browser/chunks/interface-hyperlink.svg-CuEfmmQI.js +1 -1
  56. package/dist/browser/chunks/interface-lighting-brightness.svg-DSK0h_Pa.js +1 -1
  57. package/dist/browser/chunks/interface-lock-closed.svg-Cn6TaLYv.js +1 -1
  58. package/dist/browser/chunks/interface-lock-open-unlock.svg-CVkG5-9W.js +1 -1
  59. package/dist/browser/chunks/interface-login-key.svg-y-cwwXjN.js +1 -1
  60. package/dist/browser/chunks/interface-search.svg-S-puVFJB.js +1 -1
  61. package/dist/browser/chunks/interface-setting-cog.svg-CTH4_lLg.js +1 -1
  62. package/dist/browser/chunks/interface-share-megaphone-bullhorn.svg-Pbp39MyC.js +1 -1
  63. package/dist/browser/chunks/interface-share-rocket.svg-BgCsIRZO.js +1 -1
  64. package/dist/browser/chunks/interface-share-satellite.svg-DAMN9d5G.js +1 -1
  65. package/dist/browser/chunks/interface-share-space-ship.svg-Dt-Mejxk.js +1 -1
  66. package/dist/browser/chunks/interface-share.svg-vFYTXSti.js +1 -1
  67. package/dist/browser/chunks/interface-signal-square.svg-DNG4LpAe.js +1 -1
  68. package/dist/browser/chunks/interface-time-clock-circle.svg-Bpz-nLxo.js +1 -1
  69. package/dist/browser/chunks/interface-time-hour-glass.svg-D7agfKsH.js +1 -1
  70. package/dist/browser/chunks/interface-users-multiple.svg-CkPJBBnG.js +1 -1
  71. package/dist/browser/chunks/interface-weather-moon.svg-CaTZFMPO.js +1 -1
  72. package/dist/browser/chunks/mail-chat-bubble-square.svg-DC8RIihp.js +1 -1
  73. package/dist/browser/chunks/mail-send-email-paper-airplane.svg-D8OLs9jz.js +1 -1
  74. package/dist/browser/chunks/mail-send-envelope.svg-CV33h5Sx.js +1 -1
  75. package/dist/browser/chunks/modal-B2flFlrc.js +99 -0
  76. package/dist/browser/chunks/{modal-BxU-pFdy.js → modal-mrsrVj-1.js} +2 -2
  77. package/dist/browser/chunks/money-cashier-receipt.svg-CJL8C2gs.js +1 -1
  78. package/dist/browser/chunks/money-currency-dollar-pay.svg-VdBplCTx.js +1 -1
  79. package/dist/browser/chunks/money-graph-arrow-increase.svg-DcRov3zk.js +1 -1
  80. package/dist/browser/chunks/money-graph-bar-chart-increase.svg-Cc7KxjX-.js +1 -1
  81. package/dist/browser/chunks/nature-ecology-leaf.svg-DR3cTZxt.js +1 -1
  82. package/dist/browser/chunks/phone-telephone.svg-DyY0gUlk.js +1 -1
  83. package/dist/browser/chunks/programming-bug.svg-BHLT-Qhp.js +1 -1
  84. package/dist/browser/chunks/programming-cloud.svg-B6YW33ba.js +1 -1
  85. package/dist/browser/chunks/programming-computer-database-server.svg-B6o5Sdn-.js +1 -1
  86. package/dist/browser/chunks/programming-computer-database.svg-Cl7OVtpJ.js +1 -1
  87. package/dist/browser/chunks/programming-module-four-layout.svg-BQrerL1x.js +1 -1
  88. package/dist/browser/chunks/programming-module-three.svg-B2KTQzBM.js +1 -1
  89. package/dist/browser/chunks/programming-module.svg-CiID7kPm.js +1 -1
  90. package/dist/browser/chunks/programming-script-code.svg-D1M5rtkN.js +1 -1
  91. package/dist/browser/chunks/runtime-core.esm-bundler-Byrbbu5Q.js +1 -1
  92. package/dist/browser/chunks/shopping-cart.svg-BEegiIR9.js +1 -1
  93. package/dist/browser/chunks/shopping-gift-present.svg-BUHwuLix.js +1 -1
  94. package/dist/browser/chunks/shopping-shipping-box-parcel-package.svg-D6fxWdYx.js +1 -1
  95. package/dist/browser/chunks/tag-new-circle.svg-jsg1bGs0.js +1 -1
  96. package/dist/browser/chunks/travel-map-earth-globe.svg-ClbMiU-f.js +1 -1
  97. package/dist/browser/chunks/vendor-DPVN2O_H.js +306 -0
  98. package/dist/browser/standalone.esm.js +20 -20
  99. package/dist/browser/standalone.js +242 -242
  100. package/dist/components/ApiReference.vue.d.ts.map +1 -1
  101. package/dist/components/ApiReference.vue.js +1 -1
  102. package/dist/components/ApiReference.vue.js.map +1 -1
  103. package/dist/components/ApiReference.vue.script.js +16 -14
  104. package/dist/components/ApiReference.vue.script.js.map +1 -1
  105. package/dist/components/Content/Auth/Auth.vue.d.ts.map +1 -1
  106. package/dist/components/Content/Auth/Auth.vue.js.map +1 -1
  107. package/dist/components/Content/Auth/Auth.vue.script.js +25 -4
  108. package/dist/components/Content/Auth/Auth.vue.script.js.map +1 -1
  109. package/dist/components/Content/Content.vue.d.ts.map +1 -1
  110. package/dist/components/Content/Content.vue.js.map +1 -1
  111. package/dist/components/Content/Content.vue.script.js +14 -2
  112. package/dist/components/Content/Content.vue.script.js.map +1 -1
  113. package/dist/style.css +16 -16
  114. package/dist/vue-styles.css +16 -16
  115. package/package.json +20 -20
  116. package/dist/browser/chunks/ScalarTextInput.vue-Cb7P6-e4.js +0 -27
  117. package/dist/browser/chunks/modal-DQLVQL1H.js +0 -99
  118. 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(() => mergeSecurity(openApiClientDocument.value?.components?.securitySchemes, __props.options.authentication?.securitySchemes, __props.authStore, openApiClientDocument.value?.["x-scalar-navigation"]?.name ?? "", __props.options.oauth2RedirectUri));
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(() => [__props.document && !__props.options.hideTestRequestButton ? (openBlock(), createBlock(unref(IntroductionCardItem_default), {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8],
11930
- .references-classic .references-rendered[data-v-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8]:not(.references-classic) {
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-433108a8] {
12001
+ .darklight-reference[data-v-d3902f0e] {
12002
12002
  width: 100%;
12003
12003
  margin-top: auto;
12004
12004
  }
@@ -2862,7 +2862,7 @@ body {
2862
2862
 
2863
2863
  /* Configurable Layout Variables */
2864
2864
  @layer scalar-config {
2865
- .scalar-api-reference[data-v-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8],
2937
- .references-classic .references-rendered[data-v-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8] {
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-433108a8]:not(.references-classic) {
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-433108a8] {
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.5",
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.18",
98
- "@scalar/api-client": "3.13.3",
99
- "@scalar/blocks": "0.1.4",
100
- "@scalar/components": "0.27.6",
101
- "@scalar/icons": "0.7.3",
102
- "@scalar/helpers": "0.9.0",
103
- "@scalar/code-highlight": "0.4.1",
104
- "@scalar/schemas": "0.7.2",
105
- "@scalar/sidebar": "0.9.29",
106
- "@scalar/oas-utils": "0.19.4",
107
- "@scalar/themes": "0.16.2",
108
- "@scalar/use-hooks": "0.4.7",
109
- "@scalar/types": "0.16.2",
110
- "@scalar/snippetz": "0.9.21",
111
- "@scalar/use-toasts": "0.10.2",
112
- "@scalar/validation": "0.6.0",
113
- "@scalar/workspace-store": "0.55.3"
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/galaxy": "0.6.9",
133
- "@scalar/core": "0.5.23"
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",