@scalar/api-reference 1.49.3 → 1.49.4
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 +9 -0
- package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
- package/dist/blocks/index.js +4 -2
- package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.d.ts.map +1 -1
- package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.js +9 -0
- package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.js.map +1 -0
- package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.script.js +106 -0
- package/dist/blocks/scalar-client-selector-block/components/ClientDropdown.vue.script.js.map +1 -0
- package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.js +9 -0
- package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.js.map +1 -0
- package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.script.js +121 -0
- package/dist/blocks/scalar-client-selector-block/components/ClientSelector.vue.script.js.map +1 -0
- package/dist/blocks/scalar-client-selector-block/helpers/featured-clients.js +27 -0
- package/dist/blocks/scalar-client-selector-block/helpers/featured-clients.js.map +1 -0
- package/dist/blocks/scalar-client-selector-block/index.d.ts +1 -1
- package/dist/blocks/scalar-info-block/components/DownloadLink.vue.js +9 -0
- package/dist/blocks/scalar-info-block/components/DownloadLink.vue.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/DownloadLink.vue.script.js +55 -0
- package/dist/blocks/scalar-info-block/components/DownloadLink.vue.script.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/InfoBlock.vue.js +7 -0
- package/dist/blocks/scalar-info-block/components/InfoBlock.vue.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/InfoBlock.vue.script.js +69 -0
- package/dist/blocks/scalar-info-block/components/InfoBlock.vue.script.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/InfoDescription.vue.js +9 -0
- package/dist/blocks/scalar-info-block/components/InfoDescription.vue.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/InfoDescription.vue.script.js +68 -0
- package/dist/blocks/scalar-info-block/components/InfoDescription.vue.script.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/InfoLinks.vue.js +7 -0
- package/dist/blocks/scalar-info-block/components/InfoLinks.vue.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/InfoLinks.vue.script.js +40 -0
- package/dist/blocks/scalar-info-block/components/InfoLinks.vue.script.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/InfoMarkdownSection.vue.js +7 -0
- package/dist/blocks/scalar-info-block/components/InfoMarkdownSection.vue.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/InfoMarkdownSection.vue.script.js +35 -0
- package/dist/blocks/scalar-info-block/components/InfoMarkdownSection.vue.script.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/InfoVersion.vue.js +7 -0
- package/dist/blocks/scalar-info-block/components/InfoVersion.vue.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/InfoVersion.vue.script.js +25 -0
- package/dist/blocks/scalar-info-block/components/InfoVersion.vue.script.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/IntroductionCard.vue.js +9 -0
- package/dist/blocks/scalar-info-block/components/IntroductionCard.vue.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/IntroductionCard.vue.script.js +15 -0
- package/dist/blocks/scalar-info-block/components/IntroductionCard.vue.script.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/IntroductionCardItem.vue.js +14 -0
- package/dist/blocks/scalar-info-block/components/IntroductionCardItem.vue.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.js +9 -0
- package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.script.js +92 -0
- package/dist/blocks/scalar-info-block/components/IntroductionLayout.vue.script.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/OpenApiVersion.vue.js +7 -0
- package/dist/blocks/scalar-info-block/components/OpenApiVersion.vue.js.map +1 -0
- package/dist/blocks/scalar-info-block/components/OpenApiVersion.vue.script.js +19 -0
- package/dist/blocks/scalar-info-block/components/OpenApiVersion.vue.script.js.map +1 -0
- package/dist/blocks/scalar-info-block/index.d.ts +2 -2
- package/dist/blocks/scalar-server-selector-block/components/Selector.vue.js +7 -0
- package/dist/blocks/scalar-server-selector-block/components/Selector.vue.js.map +1 -0
- package/dist/blocks/scalar-server-selector-block/components/Selector.vue.script.js +71 -0
- package/dist/blocks/scalar-server-selector-block/components/Selector.vue.script.js.map +1 -0
- package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.js +7 -0
- package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.js.map +1 -0
- package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.script.js +69 -0
- package/dist/blocks/scalar-server-selector-block/components/ServerSelector.vue.script.js.map +1 -0
- package/dist/blocks/scalar-server-selector-block/index.d.ts +1 -1
- package/dist/browser/standalone.js +35377 -34973
- package/dist/browser/webpack-stats.json +1 -1
- package/dist/components/AgentScalar/AgentScalarButton.vue.js +7 -0
- package/dist/components/AgentScalar/AgentScalarButton.vue.js.map +1 -0
- package/dist/components/AgentScalar/AgentScalarButton.vue.script.js +21 -0
- package/dist/components/AgentScalar/AgentScalarButton.vue.script.js.map +1 -0
- package/dist/components/AgentScalar/AgentScalarChatInterface.vue.js +7 -0
- package/dist/components/AgentScalar/AgentScalarChatInterface.vue.js.map +1 -0
- package/dist/{AgentScalarChatInterface-MUbtSqMw.js → components/AgentScalar/AgentScalarChatInterface.vue.script.js} +5 -6
- package/dist/components/AgentScalar/AgentScalarChatInterface.vue.script.js.map +1 -0
- package/dist/components/AgentScalar/AgentScalarDrawer.vue.d.ts +0 -1
- package/dist/components/AgentScalar/AgentScalarDrawer.vue.d.ts.map +1 -1
- package/dist/components/AgentScalar/AgentScalarDrawer.vue.js +9 -0
- package/dist/components/AgentScalar/AgentScalarDrawer.vue.js.map +1 -0
- package/dist/components/AgentScalar/AgentScalarDrawer.vue.script.js +65 -0
- package/dist/components/AgentScalar/AgentScalarDrawer.vue.script.js.map +1 -0
- package/dist/components/AgentScalar/OpenMCPButton.vue.js +9 -0
- package/dist/components/AgentScalar/OpenMCPButton.vue.js.map +1 -0
- package/dist/components/AgentScalar/OpenMCPButton.vue.script.js +184 -0
- package/dist/components/AgentScalar/OpenMCPButton.vue.script.js.map +1 -0
- package/dist/components/AgentScalar/index.d.ts +3 -3
- package/dist/components/Anchor/Anchor.vue.js +7 -0
- package/dist/components/Anchor/Anchor.vue.js.map +1 -0
- package/dist/components/Anchor/Anchor.vue.script.js +40 -0
- package/dist/components/Anchor/Anchor.vue.script.js.map +1 -0
- package/dist/components/Anchor/WithBreadcrumb.vue.js +7 -0
- package/dist/components/Anchor/WithBreadcrumb.vue.js.map +1 -0
- package/dist/components/Anchor/WithBreadcrumb.vue.script.js +32 -0
- package/dist/components/Anchor/WithBreadcrumb.vue.script.js.map +1 -0
- package/dist/components/Anchor/index.d.ts +2 -2
- package/dist/components/ApiReference.vue.d.ts.map +1 -1
- package/dist/components/ApiReference.vue.js +12 -0
- package/dist/components/ApiReference.vue.js.map +1 -0
- package/dist/components/ApiReference.vue.script.js +662 -0
- package/dist/components/ApiReference.vue.script.js.map +1 -0
- package/dist/components/Badge/Badge.vue.js +9 -0
- package/dist/components/Badge/Badge.vue.js.map +1 -0
- package/dist/components/Badge/Badge.vue.script.js +22 -0
- package/dist/components/Badge/Badge.vue.script.js.map +1 -0
- package/dist/components/Badge/index.d.ts +1 -1
- package/dist/components/ClassicHeader.vue.js +16 -0
- package/dist/components/ClassicHeader.vue.js.map +1 -0
- package/dist/components/Content/Auth/Auth.vue.js +7 -0
- package/dist/components/Content/Auth/Auth.vue.js.map +1 -0
- package/dist/components/Content/Auth/Auth.vue.script.js +70 -0
- package/dist/components/Content/Auth/Auth.vue.script.js.map +1 -0
- package/dist/components/Content/Auth/helpers/get-default-security.js +64 -0
- package/dist/components/Content/Auth/helpers/get-default-security.js.map +1 -0
- package/dist/components/Content/Auth/index.d.ts +1 -1
- package/dist/components/Content/Content.vue.js +8 -0
- package/dist/components/Content/Content.vue.js.map +1 -0
- package/dist/components/Content/Content.vue.script.js +192 -0
- package/dist/components/Content/Content.vue.script.js.map +1 -0
- package/dist/components/Content/Models/Model.vue.js +7 -0
- package/dist/components/Content/Models/Model.vue.js.map +1 -0
- package/dist/components/Content/Models/Model.vue.script.js +61 -0
- package/dist/components/Content/Models/Model.vue.script.js.map +1 -0
- package/dist/components/Content/Models/ModelTag.vue.js +7 -0
- package/dist/components/Content/Models/ModelTag.vue.js.map +1 -0
- package/dist/components/Content/Models/ModelTag.vue.script.js +69 -0
- package/dist/components/Content/Models/ModelTag.vue.script.js.map +1 -0
- package/dist/components/Content/Models/components/ClassicLayout.vue.js +9 -0
- package/dist/components/Content/Models/components/ClassicLayout.vue.js.map +1 -0
- package/dist/components/Content/Models/components/ClassicLayout.vue.script.js +81 -0
- package/dist/components/Content/Models/components/ClassicLayout.vue.script.js.map +1 -0
- package/dist/components/Content/Models/components/ModernLayout.vue.js +7 -0
- package/dist/components/Content/Models/components/ModernLayout.vue.js.map +1 -0
- package/dist/components/Content/Models/components/ModernLayout.vue.script.js +66 -0
- package/dist/components/Content/Models/components/ModernLayout.vue.script.js.map +1 -0
- package/dist/components/Content/Models/index.d.ts +2 -2
- package/dist/components/Content/Operations/TraversedEntry.vue.js +7 -0
- package/dist/components/Content/Operations/TraversedEntry.vue.js.map +1 -0
- package/dist/components/Content/Operations/TraversedEntry.vue.script.js +213 -0
- package/dist/components/Content/Operations/TraversedEntry.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/RenderString.vue.js +7 -0
- package/dist/components/Content/Schema/RenderString.vue.js.map +1 -0
- package/dist/components/Content/Schema/RenderString.vue.script.js +36 -0
- package/dist/components/Content/Schema/RenderString.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/Schema.vue.js +9 -0
- package/dist/components/Content/Schema/Schema.vue.js.map +1 -0
- package/dist/components/Content/Schema/Schema.vue.script.js +184 -0
- package/dist/components/Content/Schema/Schema.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/SchemaComposition.vue.d.ts +1 -1
- package/dist/components/Content/Schema/SchemaComposition.vue.js +7 -0
- package/dist/components/Content/Schema/SchemaComposition.vue.js.map +1 -0
- package/dist/components/Content/Schema/SchemaComposition.vue.script.js +146 -0
- package/dist/components/Content/Schema/SchemaComposition.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.js +9 -0
- package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.js.map +1 -0
- package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.script.js +29 -0
- package/dist/components/Content/Schema/SchemaEnumPropertyItem.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/SchemaEnums.vue.js +9 -0
- package/dist/components/Content/Schema/SchemaEnums.vue.js.map +1 -0
- package/dist/components/Content/Schema/SchemaEnums.vue.script.js +108 -0
- package/dist/components/Content/Schema/SchemaEnums.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/SchemaHeading.vue.js +9 -0
- package/dist/components/Content/Schema/SchemaHeading.vue.js.map +1 -0
- package/dist/components/Content/Schema/SchemaHeading.vue.script.js +45 -0
- package/dist/components/Content/Schema/SchemaHeading.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.js +7 -0
- package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.js.map +1 -0
- package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.script.js +55 -0
- package/dist/components/Content/Schema/SchemaObjectExampleCodeBlock.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/SchemaObjectProperties.vue.js +7 -0
- package/dist/components/Content/Schema/SchemaObjectProperties.vue.js.map +1 -0
- package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js +161 -0
- package/dist/components/Content/Schema/SchemaObjectProperties.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/SchemaProperty.vue.js +9 -0
- package/dist/components/Content/Schema/SchemaProperty.vue.js.map +1 -0
- package/dist/components/Content/Schema/SchemaProperty.vue.script.js +256 -0
- package/dist/components/Content/Schema/SchemaProperty.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/SchemaPropertyDefault.vue.js +9 -0
- package/dist/components/Content/Schema/SchemaPropertyDefault.vue.js.map +1 -0
- package/dist/components/Content/Schema/SchemaPropertyDefault.vue.script.js +35 -0
- package/dist/components/Content/Schema/SchemaPropertyDefault.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/SchemaPropertyDetail.vue.js +9 -0
- package/dist/components/Content/Schema/SchemaPropertyDetail.vue.js.map +1 -0
- package/dist/components/Content/Schema/SchemaPropertyDetail.vue.script.js +30 -0
- package/dist/components/Content/Schema/SchemaPropertyDetail.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/SchemaPropertyExamples.vue.js +9 -0
- package/dist/components/Content/Schema/SchemaPropertyExamples.vue.js.map +1 -0
- package/dist/components/Content/Schema/SchemaPropertyExamples.vue.script.js +67 -0
- package/dist/components/Content/Schema/SchemaPropertyExamples.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js +9 -0
- package/dist/components/Content/Schema/SchemaPropertyHeading.vue.js.map +1 -0
- package/dist/components/Content/Schema/SchemaPropertyHeading.vue.script.js +251 -0
- package/dist/components/Content/Schema/SchemaPropertyHeading.vue.script.js.map +1 -0
- package/dist/components/Content/Schema/helpers/format-example.js +26 -0
- package/dist/components/Content/Schema/helpers/format-example.js.map +1 -0
- package/dist/components/Content/Schema/helpers/format-value.js +22 -0
- package/dist/components/Content/Schema/helpers/format-value.js.map +1 -0
- package/dist/components/Content/Schema/helpers/get-compositions-to-render.d.ts +1 -1
- package/dist/components/Content/Schema/helpers/get-compositions-to-render.js +32 -0
- package/dist/components/Content/Schema/helpers/get-compositions-to-render.js.map +1 -0
- package/dist/components/Content/Schema/helpers/get-enum-values.js +22 -0
- package/dist/components/Content/Schema/helpers/get-enum-values.js.map +1 -0
- package/dist/components/Content/Schema/helpers/get-property-description.js +36 -0
- package/dist/components/Content/Schema/helpers/get-property-description.js.map +1 -0
- package/dist/components/Content/Schema/helpers/get-ref-name.js +19 -0
- package/dist/components/Content/Schema/helpers/get-ref-name.js.map +1 -0
- package/dist/components/Content/Schema/helpers/get-schema-type.js +49 -0
- package/dist/components/Content/Schema/helpers/get-schema-type.js.map +1 -0
- package/dist/components/Content/Schema/helpers/has-complex-array-items.js +53 -0
- package/dist/components/Content/Schema/helpers/has-complex-array-items.js.map +1 -0
- package/dist/components/Content/Schema/helpers/is-empty-schema-object.js +18 -0
- package/dist/components/Content/Schema/helpers/is-empty-schema-object.js.map +1 -0
- package/dist/components/Content/Schema/helpers/is-type-object.js +18 -0
- package/dist/components/Content/Schema/helpers/is-type-object.js.map +1 -0
- package/dist/components/Content/Schema/helpers/merge-all-of-schemas.js +175 -0
- package/dist/components/Content/Schema/helpers/merge-all-of-schemas.js.map +1 -0
- package/dist/components/Content/Schema/helpers/optimize-value-for-display.js +68 -0
- package/dist/components/Content/Schema/helpers/optimize-value-for-display.js.map +1 -0
- package/dist/components/Content/Schema/helpers/schema-composition.js +11 -0
- package/dist/components/Content/Schema/helpers/schema-composition.js.map +1 -0
- package/dist/components/Content/Schema/helpers/schema-name.js +23 -0
- package/dist/components/Content/Schema/helpers/schema-name.js.map +1 -0
- package/dist/components/Content/Schema/helpers/should-display-description.js +17 -0
- package/dist/components/Content/Schema/helpers/should-display-description.js.map +1 -0
- package/dist/components/Content/Schema/helpers/should-display-heading.js +18 -0
- package/dist/components/Content/Schema/helpers/should-display-heading.js.map +1 -0
- package/dist/components/Content/Schema/helpers/should-render-array-item-composition.js +20 -0
- package/dist/components/Content/Schema/helpers/should-render-array-item-composition.js.map +1 -0
- package/dist/components/Content/Schema/helpers/sort-property-names.js +45 -0
- package/dist/components/Content/Schema/helpers/sort-property-names.js.map +1 -0
- package/dist/components/Content/Schema/index.d.ts +4 -4
- package/dist/components/Content/Tags/Tag.vue.js +7 -0
- package/dist/components/Content/Tags/Tag.vue.js.map +1 -0
- package/dist/components/Content/Tags/Tag.vue.script.js +56 -0
- package/dist/components/Content/Tags/Tag.vue.script.js.map +1 -0
- package/dist/components/Content/Tags/components/ClassicLayout.vue.js +9 -0
- package/dist/components/Content/Tags/components/ClassicLayout.vue.js.map +1 -0
- package/dist/components/Content/Tags/components/ClassicLayout.vue.script.js +49 -0
- package/dist/components/Content/Tags/components/ClassicLayout.vue.script.js.map +1 -0
- package/dist/components/Content/Tags/components/ModernLayout.vue.js +9 -0
- package/dist/components/Content/Tags/components/ModernLayout.vue.js.map +1 -0
- package/dist/components/Content/Tags/components/ModernLayout.vue.script.js +63 -0
- package/dist/components/Content/Tags/components/ModernLayout.vue.script.js.map +1 -0
- package/dist/components/Content/Tags/components/TagSection.vue.js +7 -0
- package/dist/components/Content/Tags/components/TagSection.vue.js.map +1 -0
- package/dist/components/Content/Tags/components/TagSection.vue.script.js +78 -0
- package/dist/components/Content/Tags/components/TagSection.vue.script.js.map +1 -0
- package/dist/components/Content/Tags/index.d.ts +1 -1
- package/dist/components/Content/index.d.ts +2 -2
- package/dist/components/GettingStarted.vue.js +9 -0
- package/dist/components/GettingStarted.vue.js.map +1 -0
- package/dist/components/GettingStarted.vue.script.js +71 -0
- package/dist/components/GettingStarted.vue.script.js.map +1 -0
- package/dist/components/HttpMethod/HttpMethod.vue.js +7 -0
- package/dist/components/HttpMethod/HttpMethod.vue.js.map +1 -0
- package/dist/components/HttpMethod/HttpMethod.vue.script.js +33 -0
- package/dist/components/HttpMethod/HttpMethod.vue.script.js.map +1 -0
- package/dist/components/HttpMethod/index.d.ts +1 -1
- package/dist/components/IntersectionObserver.vue.js +7 -0
- package/dist/components/IntersectionObserver.vue.js.map +1 -0
- package/dist/components/IntersectionObserver.vue.script.js +45 -0
- package/dist/components/IntersectionObserver.vue.script.js.map +1 -0
- package/dist/components/Lazy/Lazy.vue.js +7 -0
- package/dist/components/Lazy/Lazy.vue.js.map +1 -0
- package/dist/components/Lazy/Lazy.vue.script.js +101 -0
- package/dist/components/Lazy/Lazy.vue.script.js.map +1 -0
- package/dist/components/LinkList/LinkList.vue.js +9 -0
- package/dist/components/LinkList/LinkList.vue.js.map +1 -0
- package/dist/components/LinkList/LinkList.vue.script.js +53 -0
- package/dist/components/LinkList/LinkList.vue.script.js.map +1 -0
- package/dist/components/LinkList/index.d.ts +1 -1
- package/dist/components/LoadingSkeleton.vue.js +9 -0
- package/dist/components/LoadingSkeleton.vue.js.map +1 -0
- package/dist/components/LoadingSkeleton.vue.script.js +20 -0
- package/dist/components/LoadingSkeleton.vue.script.js.map +1 -0
- package/dist/components/MobileHeader.vue.d.ts.map +1 -1
- package/dist/components/MobileHeader.vue.js +7 -0
- package/dist/components/MobileHeader.vue.js.map +1 -0
- package/dist/components/MobileHeader.vue.script.js +43 -0
- package/dist/components/MobileHeader.vue.script.js.map +1 -0
- package/dist/components/OperationPath.vue.js +9 -0
- package/dist/components/OperationPath.vue.js.map +1 -0
- package/dist/components/OperationPath.vue.script.js +24 -0
- package/dist/components/OperationPath.vue.script.js.map +1 -0
- package/dist/components/OperationsList/OperationsList.vue.js +9 -0
- package/dist/components/OperationsList/OperationsList.vue.js.map +1 -0
- package/dist/components/OperationsList/OperationsList.vue.script.js +49 -0
- package/dist/components/OperationsList/OperationsList.vue.script.js.map +1 -0
- package/dist/components/OperationsList/OperationsListItem.vue.js +9 -0
- package/dist/components/OperationsList/OperationsListItem.vue.js.map +1 -0
- package/dist/components/OperationsList/OperationsListItem.vue.script.js +51 -0
- package/dist/components/OperationsList/OperationsListItem.vue.script.js.map +1 -0
- package/dist/components/OperationsList/index.d.ts +1 -1
- package/dist/components/RenderPlugins/RenderPlugins.vue.js +7 -0
- package/dist/components/RenderPlugins/RenderPlugins.vue.js.map +1 -0
- package/dist/components/RenderPlugins/RenderPlugins.vue.script.js +44 -0
- package/dist/components/RenderPlugins/RenderPlugins.vue.script.js.map +1 -0
- package/dist/components/RenderPlugins/index.d.ts +1 -1
- package/dist/components/ScreenReader.vue.js +9 -0
- package/dist/components/ScreenReader.vue.js.map +1 -0
- package/dist/components/ScreenReader.vue.script.js +22 -0
- package/dist/components/ScreenReader.vue.script.js.map +1 -0
- package/dist/components/Section/CompactSection.vue.js +9 -0
- package/dist/components/Section/CompactSection.vue.js.map +1 -0
- package/dist/components/Section/CompactSection.vue.script.js +56 -0
- package/dist/components/Section/CompactSection.vue.script.js.map +1 -0
- package/dist/components/Section/Section.vue.js +9 -0
- package/dist/components/Section/Section.vue.js.map +1 -0
- package/dist/components/Section/Section.vue.script.js +23 -0
- package/dist/components/Section/Section.vue.script.js.map +1 -0
- package/dist/components/Section/SectionAccordion.vue.js +9 -0
- package/dist/components/Section/SectionAccordion.vue.js.map +1 -0
- package/dist/components/Section/SectionAccordion.vue.script.js +60 -0
- package/dist/components/Section/SectionAccordion.vue.script.js.map +1 -0
- package/dist/components/Section/SectionColumn.vue.js +14 -0
- package/dist/components/Section/SectionColumn.vue.js.map +1 -0
- package/dist/components/Section/SectionColumns.vue.js +14 -0
- package/dist/components/Section/SectionColumns.vue.js.map +1 -0
- package/dist/components/Section/SectionContainer.vue.js +9 -0
- package/dist/components/Section/SectionContainer.vue.js.map +1 -0
- package/dist/components/Section/SectionContainer.vue.script.js +19 -0
- package/dist/components/Section/SectionContainer.vue.script.js.map +1 -0
- package/dist/components/Section/SectionContainerAccordion.vue.js +9 -0
- package/dist/components/Section/SectionContainerAccordion.vue.js.map +1 -0
- package/dist/components/Section/SectionContainerAccordion.vue.script.js +40 -0
- package/dist/components/Section/SectionContainerAccordion.vue.script.js.map +1 -0
- package/dist/components/Section/SectionContent.vue.js +9 -0
- package/dist/components/Section/SectionContent.vue.js.map +1 -0
- package/dist/components/Section/SectionContent.vue.script.js +23 -0
- package/dist/components/Section/SectionContent.vue.script.js.map +1 -0
- package/dist/components/Section/SectionHeader.vue.js +9 -0
- package/dist/components/Section/SectionHeader.vue.js.map +1 -0
- package/dist/components/Section/SectionHeader.vue.script.js +23 -0
- package/dist/components/Section/SectionHeader.vue.script.js.map +1 -0
- package/dist/components/Section/SectionHeaderTag.vue.js +9 -0
- package/dist/components/Section/SectionHeaderTag.vue.js.map +1 -0
- package/dist/components/Section/SectionHeaderTag.vue.script.js +18 -0
- package/dist/components/Section/SectionHeaderTag.vue.script.js.map +1 -0
- package/dist/components/Section/index.d.ts +10 -10
- package/dist/components/SectionFlare/SectionFlare.vue.js +14 -0
- package/dist/components/SectionFlare/SectionFlare.vue.js.map +1 -0
- package/dist/components/SectionFlare/index.d.ts +1 -1
- package/dist/components/ShowMoreButton.vue.js +9 -0
- package/dist/components/ShowMoreButton.vue.js.map +1 -0
- package/dist/components/ShowMoreButton.vue.script.js +22 -0
- package/dist/components/ShowMoreButton.vue.script.js.map +1 -0
- package/dist/components/index.d.ts +5 -5
- package/dist/components/index.js +20 -102
- package/dist/{urls-gPTXGgbj.js → consts/urls.js} +2 -2
- package/dist/consts/urls.js.map +1 -0
- package/dist/features/Operation/Operation.vue.js +7 -0
- package/dist/features/Operation/Operation.vue.js.map +1 -0
- package/dist/features/Operation/Operation.vue.script.js +115 -0
- package/dist/features/Operation/Operation.vue.script.js.map +1 -0
- package/dist/features/Operation/components/ContentTypeSelect.vue.js +7 -0
- package/dist/features/Operation/components/ContentTypeSelect.vue.js.map +1 -0
- package/dist/features/Operation/components/ContentTypeSelect.vue.script.js +75 -0
- package/dist/features/Operation/components/ContentTypeSelect.vue.script.js.map +1 -0
- package/dist/features/Operation/components/Header.vue.js +7 -0
- package/dist/features/Operation/components/Header.vue.js.map +1 -0
- package/dist/features/Operation/components/Header.vue.script.js +42 -0
- package/dist/features/Operation/components/Header.vue.script.js.map +1 -0
- package/dist/features/Operation/components/Headers.vue.js +9 -0
- package/dist/features/Operation/components/Headers.vue.js.map +1 -0
- package/dist/features/Operation/components/Headers.vue.script.js +58 -0
- package/dist/features/Operation/components/Headers.vue.script.js.map +1 -0
- package/dist/features/Operation/components/OperationParameters.vue.d.ts +1 -1
- package/dist/features/Operation/components/OperationParameters.vue.js +7 -0
- package/dist/features/Operation/components/OperationParameters.vue.js.map +1 -0
- package/dist/features/Operation/components/OperationParameters.vue.script.js +108 -0
- package/dist/features/Operation/components/OperationParameters.vue.script.js.map +1 -0
- package/dist/features/Operation/components/OperationResponses.vue.d.ts +1 -1
- package/dist/features/Operation/components/OperationResponses.vue.js +7 -0
- package/dist/features/Operation/components/OperationResponses.vue.js.map +1 -0
- package/dist/features/Operation/components/OperationResponses.vue.script.js +48 -0
- package/dist/features/Operation/components/OperationResponses.vue.script.js.map +1 -0
- package/dist/features/Operation/components/ParameterList.vue.d.ts +1 -1
- package/dist/features/Operation/components/ParameterList.vue.js +7 -0
- package/dist/features/Operation/components/ParameterList.vue.js.map +1 -0
- package/dist/features/Operation/components/ParameterList.vue.script.js +53 -0
- package/dist/features/Operation/components/ParameterList.vue.script.js.map +1 -0
- package/dist/features/Operation/components/ParameterListItem.vue.d.ts +1 -1
- package/dist/features/Operation/components/ParameterListItem.vue.js +9 -0
- package/dist/features/Operation/components/ParameterListItem.vue.js.map +1 -0
- package/dist/features/Operation/components/ParameterListItem.vue.script.js +161 -0
- package/dist/features/Operation/components/ParameterListItem.vue.script.js.map +1 -0
- package/dist/features/Operation/components/RequestBody.vue.js +9 -0
- package/dist/features/Operation/components/RequestBody.vue.js.map +1 -0
- package/dist/features/Operation/components/RequestBody.vue.script.js +154 -0
- package/dist/features/Operation/components/RequestBody.vue.script.js.map +1 -0
- package/dist/features/Operation/components/callbacks/Callback.vue.d.ts +1 -1
- package/dist/features/Operation/components/callbacks/Callback.vue.js +9 -0
- package/dist/features/Operation/components/callbacks/Callback.vue.js.map +1 -0
- package/dist/features/Operation/components/callbacks/Callback.vue.script.js +62 -0
- package/dist/features/Operation/components/callbacks/Callback.vue.script.js.map +1 -0
- package/dist/features/Operation/components/callbacks/Callbacks.vue.d.ts +1 -1
- package/dist/features/Operation/components/callbacks/Callbacks.vue.js +7 -0
- package/dist/features/Operation/components/callbacks/Callbacks.vue.js.map +1 -0
- package/dist/features/Operation/components/callbacks/Callbacks.vue.script.js +67 -0
- package/dist/features/Operation/components/callbacks/Callbacks.vue.script.js.map +1 -0
- package/dist/features/Operation/helpers/filter-selected-security.js +30 -0
- package/dist/features/Operation/helpers/filter-selected-security.js.map +1 -0
- package/dist/features/Operation/helpers/get-first-server.js +27 -0
- package/dist/features/Operation/helpers/get-first-server.js.map +1 -0
- package/dist/features/Operation/index.d.ts +1 -1
- package/dist/features/Operation/layouts/ClassicLayout.vue.d.ts +1 -1
- package/dist/features/Operation/layouts/ClassicLayout.vue.js +9 -0
- package/dist/features/Operation/layouts/ClassicLayout.vue.js.map +1 -0
- package/dist/features/Operation/layouts/ClassicLayout.vue.script.js +243 -0
- package/dist/features/Operation/layouts/ClassicLayout.vue.script.js.map +1 -0
- package/dist/features/Operation/layouts/ModernLayout.vue.d.ts +1 -1
- package/dist/features/Operation/layouts/ModernLayout.vue.js +9 -0
- package/dist/features/Operation/layouts/ModernLayout.vue.js.map +1 -0
- package/dist/features/Operation/layouts/ModernLayout.vue.script.js +243 -0
- package/dist/features/Operation/layouts/ModernLayout.vue.script.js.map +1 -0
- package/dist/features/Search/components/SearchButton.vue.js +7 -0
- package/dist/features/Search/components/SearchButton.vue.js.map +1 -0
- package/dist/features/Search/components/SearchButton.vue.script.js +77 -0
- package/dist/features/Search/components/SearchButton.vue.script.js.map +1 -0
- package/dist/features/Search/components/SearchModal.vue.js +9 -0
- package/dist/features/Search/components/SearchModal.vue.js.map +1 -0
- package/dist/features/Search/components/SearchModal.vue.script.js +115 -0
- package/dist/features/Search/components/SearchModal.vue.script.js.map +1 -0
- package/dist/features/Search/components/SearchResult.vue.js +7 -0
- package/dist/features/Search/components/SearchResult.vue.js.map +1 -0
- package/dist/features/Search/components/SearchResult.vue.script.js +69 -0
- package/dist/features/Search/components/SearchResult.vue.script.js.map +1 -0
- package/dist/features/Search/helpers/create-fuse-instance.js +52 -0
- package/dist/features/Search/helpers/create-fuse-instance.js.map +1 -0
- package/dist/features/Search/helpers/create-search-index.js +127 -0
- package/dist/features/Search/helpers/create-search-index.js.map +1 -0
- package/dist/features/Search/hooks/useSearchIndex.js +31 -0
- package/dist/features/Search/hooks/useSearchIndex.js.map +1 -0
- package/dist/features/Search/index.d.ts +2 -2
- package/dist/features/Search/types.d.ts +1 -1
- package/dist/features/ask-agent-button/AskAgentButton.vue.js +9 -0
- package/dist/features/ask-agent-button/AskAgentButton.vue.js.map +1 -0
- package/dist/features/ask-agent-button/AskAgentButton.vue.script.js +49 -0
- package/dist/features/ask-agent-button/AskAgentButton.vue.script.js.map +1 -0
- package/dist/features/developer-tools/DeveloperTools.vue.js +7 -0
- package/dist/features/developer-tools/DeveloperTools.vue.js.map +1 -0
- package/dist/features/developer-tools/DeveloperTools.vue.script.js +49 -0
- package/dist/features/developer-tools/DeveloperTools.vue.script.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarBlurb.vue.js +13 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarBlurb.vue.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.js +7 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.script.js +38 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayout.vue.script.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.js +7 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.script.js +112 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarConfigLayoutOptions.vue.script.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.js +7 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.script.js +60 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarConfigTheme.vue.script.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.js +7 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.script.js +35 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarPopover.vue.script.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.js +7 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js +68 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarRegisterButton.vue.script.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.js +7 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js +80 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareRegister.vue.script.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.js +7 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js +66 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarShareTemporary.vue.script.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.js +7 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.js.map +1 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.script.js +44 -0
- package/dist/features/developer-tools/components/ApiReferenceToolbarTitle.vue.script.js.map +1 -0
- package/dist/features/developer-tools/components/DeployApiReference.vue.js +7 -0
- package/dist/features/developer-tools/components/DeployApiReference.vue.js.map +1 -0
- package/dist/features/developer-tools/components/DeployApiReference.vue.script.js +26 -0
- package/dist/features/developer-tools/components/DeployApiReference.vue.script.js.map +1 -0
- package/dist/features/developer-tools/components/ModifyConfiguration.vue.js +7 -0
- package/dist/features/developer-tools/components/ModifyConfiguration.vue.js.map +1 -0
- package/dist/features/developer-tools/components/ModifyConfiguration.vue.script.js +86 -0
- package/dist/features/developer-tools/components/ModifyConfiguration.vue.script.js.map +1 -0
- package/dist/features/developer-tools/components/ShareApiReference.vue.js +7 -0
- package/dist/features/developer-tools/components/ShareApiReference.vue.js.map +1 -0
- package/dist/features/developer-tools/components/ShareApiReference.vue.script.js +26 -0
- package/dist/features/developer-tools/components/ShareApiReference.vue.script.js.map +1 -0
- package/dist/features/developer-tools/index.d.ts +1 -1
- package/dist/features/example-responses/ExampleResponse.vue.js +9 -0
- package/dist/features/example-responses/ExampleResponse.vue.js.map +1 -0
- package/dist/features/example-responses/ExampleResponse.vue.script.js +56 -0
- package/dist/features/example-responses/ExampleResponse.vue.script.js.map +1 -0
- package/dist/features/example-responses/ExampleResponseTab.vue.js +9 -0
- package/dist/features/example-responses/ExampleResponseTab.vue.js.map +1 -0
- package/dist/features/example-responses/ExampleResponseTab.vue.script.js +21 -0
- package/dist/features/example-responses/ExampleResponseTab.vue.script.js.map +1 -0
- package/dist/features/example-responses/ExampleResponseTabList.vue.js +9 -0
- package/dist/features/example-responses/ExampleResponseTabList.vue.js.map +1 -0
- package/dist/features/example-responses/ExampleResponseTabList.vue.script.js +31 -0
- package/dist/features/example-responses/ExampleResponseTabList.vue.script.js.map +1 -0
- package/dist/features/example-responses/ExampleResponses.vue.js +9 -0
- package/dist/features/example-responses/ExampleResponses.vue.js.map +1 -0
- package/dist/features/example-responses/ExampleResponses.vue.script.js +157 -0
- package/dist/features/example-responses/ExampleResponses.vue.script.js.map +1 -0
- package/dist/features/example-responses/ExampleSchema.vue.js +7 -0
- package/dist/features/example-responses/ExampleSchema.vue.js.map +1 -0
- package/dist/features/example-responses/ExampleSchema.vue.script.js +42 -0
- package/dist/features/example-responses/ExampleSchema.vue.script.js.map +1 -0
- package/dist/features/example-responses/has-response-content.js +37 -0
- package/dist/features/example-responses/has-response-content.js.map +1 -0
- package/dist/features/example-responses/index.d.ts +1 -1
- package/dist/features/external-docs/ExternalDocs.vue.js +7 -0
- package/dist/features/external-docs/ExternalDocs.vue.js.map +1 -0
- package/dist/features/external-docs/ExternalDocs.vue.script.js +37 -0
- package/dist/features/external-docs/ExternalDocs.vue.script.js.map +1 -0
- package/dist/features/external-docs/index.d.ts +1 -1
- package/dist/features/index.d.ts +2 -2
- package/dist/features/index.js +4 -3
- package/dist/features/info-object/Contact.vue.js +7 -0
- package/dist/features/info-object/Contact.vue.js.map +1 -0
- package/dist/features/info-object/Contact.vue.script.js +37 -0
- package/dist/features/info-object/Contact.vue.script.js.map +1 -0
- package/dist/features/info-object/License.vue.js +7 -0
- package/dist/features/info-object/License.vue.js.map +1 -0
- package/dist/features/info-object/License.vue.script.js +32 -0
- package/dist/features/info-object/License.vue.script.js.map +1 -0
- package/dist/features/info-object/TermsOfService.vue.js +7 -0
- package/dist/features/info-object/TermsOfService.vue.js.map +1 -0
- package/dist/features/info-object/TermsOfService.vue.script.js +29 -0
- package/dist/features/info-object/TermsOfService.vue.script.js.map +1 -0
- package/dist/features/info-object/index.d.ts +3 -3
- package/dist/features/multiple-documents/DocumentSelector.vue.js +7 -0
- package/dist/features/multiple-documents/DocumentSelector.vue.js.map +1 -0
- package/dist/features/multiple-documents/DocumentSelector.vue.script.js +48 -0
- package/dist/features/multiple-documents/DocumentSelector.vue.script.js.map +1 -0
- package/dist/features/specification-extension/SpecificationExtension.vue.js +7 -0
- package/dist/features/specification-extension/SpecificationExtension.vue.js.map +1 -0
- package/dist/features/specification-extension/SpecificationExtension.vue.script.js +56 -0
- package/dist/features/specification-extension/SpecificationExtension.vue.script.js.map +1 -0
- package/dist/features/specification-extension/helpers.js +15 -0
- package/dist/features/specification-extension/helpers.js.map +1 -0
- package/dist/features/specification-extension/index.d.ts +2 -2
- package/dist/features/test-request-button/TestRequestButton.vue.js +9 -0
- package/dist/features/test-request-button/TestRequestButton.vue.js.map +1 -0
- package/dist/features/test-request-button/TestRequestButton.vue.script.js +47 -0
- package/dist/features/test-request-button/TestRequestButton.vue.script.js.map +1 -0
- package/dist/features/test-request-button/index.d.ts +1 -1
- package/dist/features/x-badges/XBadges.vue.js +7 -0
- package/dist/features/x-badges/XBadges.vue.js.map +1 -0
- package/dist/features/x-badges/XBadges.vue.script.js +31 -0
- package/dist/features/x-badges/XBadges.vue.script.js.map +1 -0
- package/dist/features/x-badges/index.d.ts +1 -1
- package/dist/helpers/color-mode.js +15 -0
- package/dist/helpers/color-mode.js.map +1 -0
- package/dist/helpers/download.js +77 -0
- package/dist/helpers/download.js.map +1 -0
- package/dist/helpers/id-routing.js +107 -0
- package/dist/helpers/id-routing.js.map +1 -0
- package/dist/helpers/index.d.ts +8 -8
- package/dist/helpers/index.js +8 -2
- package/dist/{lazy-bus-CV8Ox5hD.js → helpers/lazy-bus.js} +3 -106
- package/dist/helpers/lazy-bus.js.map +1 -0
- package/dist/helpers/load-from-perssistance.js +23 -0
- package/dist/helpers/load-from-perssistance.js.map +1 -0
- package/dist/helpers/map-config-plugins.js +44 -0
- package/dist/helpers/map-config-plugins.js.map +1 -0
- package/dist/helpers/map-config-to-workspace-store.js +24 -0
- package/dist/helpers/map-config-to-workspace-store.js.map +1 -0
- package/dist/helpers/normalize-configurations.js +66 -0
- package/dist/helpers/normalize-configurations.js.map +1 -0
- package/dist/helpers/openapi.js +132 -0
- package/dist/helpers/openapi.js.map +1 -0
- package/dist/{storage--3JuzjCI.js → helpers/storage.js} +2 -2
- package/dist/helpers/storage.js.map +1 -0
- package/dist/helpers/upload-temp-document.js +24 -0
- package/dist/helpers/upload-temp-document.js.map +1 -0
- package/dist/hooks/index.d.ts +2 -2
- package/dist/hooks/index.js +2 -2
- package/dist/{use-agent-Bnm1de0n.js → hooks/use-agent.js} +2 -2
- package/dist/hooks/use-agent.js.map +1 -0
- package/dist/{use-intersection-8QqPi2O-.js → hooks/use-intersection.js} +2 -2
- package/dist/hooks/use-intersection.js.map +1 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +6 -6
- package/dist/plugins/hooks/usePluginManager.d.ts +1 -1
- package/dist/plugins/hooks/usePluginManager.js +16 -0
- package/dist/plugins/hooks/usePluginManager.js.map +1 -0
- package/dist/plugins/index.d.ts +3 -3
- package/dist/plugins/index.js +3 -1
- package/dist/plugins/persistance-plugin.js +39 -0
- package/dist/plugins/persistance-plugin.js.map +1 -0
- package/dist/plugins/plugin-manager.js +32 -0
- package/dist/plugins/plugin-manager.js.map +1 -0
- package/dist/ssr.js +6 -6
- package/dist/standalone/lib/html-api.js +73 -0
- package/dist/standalone/lib/html-api.js.map +1 -0
- package/dist/style.css +7878 -6432
- package/package.json +11 -11
- package/dist/AgentScalarChatInterface-MUbtSqMw.js.map +0 -1
- package/dist/ExternalDocs-phu7GxpZ.js +0 -272
- package/dist/ExternalDocs-phu7GxpZ.js.map +0 -1
- package/dist/MobileHeader-DAm6yQX0.js +0 -1373
- package/dist/MobileHeader-DAm6yQX0.js.map +0 -1
- package/dist/Operation-CvpVIkc3.js +0 -3829
- package/dist/Operation-CvpVIkc3.js.map +0 -1
- package/dist/SearchButton-xzhIpMCZ.js +0 -621
- package/dist/SearchButton-xzhIpMCZ.js.map +0 -1
- package/dist/ServerSelector-5y29y2BJ.js +0 -852
- package/dist/ServerSelector-5y29y2BJ.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/lazy-bus-CV8Ox5hD.js.map +0 -1
- package/dist/normalize-configurations-DcVpOEjD.js +0 -232
- package/dist/normalize-configurations-DcVpOEjD.js.map +0 -1
- package/dist/plugins-4EyiUD_A.js +0 -80
- package/dist/plugins-4EyiUD_A.js.map +0 -1
- package/dist/src-DJwsRvMU.js +0 -1686
- package/dist/src-DJwsRvMU.js.map +0 -1
- package/dist/storage--3JuzjCI.js.map +0 -1
- package/dist/urls-gPTXGgbj.js.map +0 -1
- package/dist/use-agent-Bnm1de0n.js.map +0 -1
- package/dist/use-intersection-8QqPi2O-.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApiReference.vue.script.js","names":["$attrs","$slots"],"sources":["../../src/components/ApiReference.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { provideUseId } from '@headlessui/vue'\nimport { OpenApiClientButton } from '@scalar/api-client/components'\nimport {\n createApiClientModal,\n type ApiClientModal,\n} from '@scalar/api-client/v2/features/modal'\nimport { getActiveEnvironment, getServers } from '@scalar/api-client/v2/helpers'\nimport {\n addScalarClassesToHeadless,\n ScalarColorModeToggleButton,\n ScalarColorModeToggleIcon,\n ScalarSidebarFooter,\n} from '@scalar/components'\nimport { isLocalUrl } from '@scalar/helpers/url/is-local-url'\nimport {\n createSidebarState,\n ScalarSidebar,\n scrollSidebarToTop,\n} from '@scalar/sidebar'\nimport { getThemeStyles, hasObtrusiveScrollbars } from '@scalar/themes'\nimport {\n apiReferenceConfigurationSchema,\n type AnyApiReferenceConfiguration,\n type ApiReferenceConfiguration,\n type ApiReferenceConfigurationRaw,\n} from '@scalar/types/api-reference'\nimport { useClipboard } from '@scalar/use-hooks/useClipboard'\nimport { useColorMode } from '@scalar/use-hooks/useColorMode'\nimport { ScalarToasts } from '@scalar/use-toasts'\nimport { createWorkspaceStore } from '@scalar/workspace-store/client'\nimport { createWorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type {\n TraversedEntry,\n TraversedTag,\n} from '@scalar/workspace-store/schemas/navigation'\nimport { useScrollLock } from '@vueuse/core'\nimport diff from 'microdiff'\nimport {\n computed,\n onBeforeMount,\n onBeforeUnmount,\n onMounted,\n onServerPrefetch,\n provide,\n ref,\n useId,\n useTemplateRef,\n watch,\n} from 'vue'\n\nimport {\n AgentScalarButton,\n AgentScalarDrawer,\n OpenMCPButton,\n} from '@/components/AgentScalar'\nimport ClassicHeader from '@/components/ClassicHeader.vue'\nimport Content from '@/components/Content/Content.vue'\nimport MobileHeader from '@/components/MobileHeader.vue'\nimport { DeveloperTools } from '@/features/developer-tools'\nimport DocumentSelector from '@/features/multiple-documents/DocumentSelector.vue'\nimport SearchButton from '@/features/Search/components/SearchButton.vue'\nimport { getSystemModePreference } from '@/helpers/color-mode'\nimport { downloadDocument } from '@/helpers/download'\nimport {\n getIdFromUrl,\n makeUrlFromId,\n matchesBasePath,\n} from '@/helpers/id-routing'\nimport {\n scrollToLazy as _scrollToLazy,\n addToPriorityQueue,\n blockIntersection,\n intersectionEnabled,\n} from '@/helpers/lazy-bus'\nimport {\n loadAuthFromStorage,\n loadClientFromStorage,\n} from '@/helpers/load-from-perssistance'\nimport { mapConfigPlugins } from '@/helpers/map-config-plugins'\nimport { mapConfigToWorkspaceStore } from '@/helpers/map-config-to-workspace-store'\nimport {\n normalizeConfigurations,\n type NormalizedConfiguration,\n} from '@/helpers/normalize-configurations'\nimport { AGENT_CONTEXT_SYMBOL, useAgent } from '@/hooks/use-agent'\nimport { useIntersection } from '@/hooks/use-intersection'\nimport { createPluginManager, PLUGIN_MANAGER_SYMBOL } from '@/plugins'\nimport { persistencePlugin } from '@/plugins/persistance-plugin'\n\nconst props = defineProps<{\n /**\n * Configuration for the API reference.\n * Can be a single configuration or an array of configurations for multiple documents.\n */\n configuration?: AnyApiReferenceConfiguration\n}>()\n\ndefineSlots<{\n 'content-start'?(): { breadcrumb: string }\n 'content-end'?(): { breadcrumb: string }\n 'sidebar-start'?(): { breadcrumb: string }\n 'sidebar-end'?(): { breadcrumb: string }\n 'editor-placeholder'?(): { breadcrumb: string }\n footer?(): { breadcrumb: string }\n}>()\n\nconst { copyToClipboard } = useClipboard()\n\n/**\n * Used to inject the environment into built packages\n *\n * Primary use case is the open-in-client button\n */\nconst isDevelopment = import.meta.env.DEV\n\nconst obtrusiveScrollbars = computed(hasObtrusiveScrollbars)\n\nconst eventBus = createWorkspaceEventBus({ debug: isDevelopment })\nconst isSidebarOpen = ref(false)\n\n/**\n * Due to a bug in headless UI, we need to set an ID here that can be shared across server/client\n * TODO remove this once the bug is fixed\n *\n * @see https://github.com/tailwindlabs/headlessui/issues/2979\n */\nprovideUseId(() => useId())\n\n// ---------------------------------------------------------------------------\n/**\n * Configuration Handling\n *\n * We will normalize the configurations and store them in a computed property.\n * The active configuration will be associated with the active document.\n */\nconst configList = computed(() => normalizeConfigurations(props.configuration))\n\nconst isMultiDocument = computed(() => Object.keys(configList.value).length > 1)\n\n/** Search for the source with a default attribute or use the first one */\nconst activeSlug = ref<string>(\n Object.values(configList.value).find((c) => c.default)?.slug ??\n configList.value[Object.keys(configList.value)?.[0] ?? '']?.slug ??\n '',\n)\n\n/**\n * On initial page load we need to determine if there is a valid document slug in the URL\n *\n * If there is we set the active slug to the document slug\n */\nif (typeof window !== 'undefined') {\n const url = new URL(window.location.href)\n\n // To handle legacy query parameter multi-document support we redirect\n // to the new path routing format\n const apiParam = url.searchParams.get('api')\n if (apiParam && configList.value[apiParam]) {\n activeSlug.value = apiParam\n const idFromUrl = getIdFromUrl(\n url,\n configList.value[apiParam].config.pathRouting?.basePath,\n apiParam,\n )\n const newUrl = makeUrlFromId(\n idFromUrl,\n configList.value[apiParam].config.pathRouting?.basePath,\n isMultiDocument.value,\n )\n if (newUrl) {\n newUrl.searchParams.delete('api')\n window.history.replaceState({}, '', newUrl.toString())\n }\n }\n\n /**\n * For path routing on initial load we do not know which basePath to check for\n * we need to search the configs to see if any of the base paths match the URL\n * and then use that basePath to get the initial id\n *\n * With this approach we cannot support multi-document mode with one of configs having\n * an empty basePath\n *\n * Other conflicts are possible.\n */\n const basePaths = Object.values(configList.value).map(\n (c) => c.config.pathRouting?.basePath,\n )\n\n const initialId = getIdFromUrl(\n url,\n basePaths.find((p) => (p ? matchesBasePath(url, p) : false)),\n isMultiDocument.value ? undefined : activeSlug.value,\n )\n const documentSlug = initialId.split('/')[0]\n\n if (documentSlug && configList.value[documentSlug]) {\n activeSlug.value = documentSlug\n }\n}\n\n/** Computed document options list for the selector logic */\nconst documentOptionList = computed(() =>\n Object.values(configList.value).map((c) => ({\n label: c.title,\n id: c.slug,\n })),\n)\n\n/** Configuration overrides to apply to the selected document (from the localhost toolbar) */\nconst configurationOverrides = ref<\n Partial<Omit<ApiReferenceConfiguration, 'slug' | 'title' | ''>>\n>({})\n\n/** Any dev toolbar modifications are merged with the active configuration */\nconst mergedConfig = computed<ApiReferenceConfigurationRaw>(() => ({\n // Provides a default set of values when the lookup fails\n ...apiReferenceConfigurationSchema.parse({}),\n // The active configuration based on the slug\n ...configList.value[activeSlug.value]?.config,\n // Any overrides from the localhost toolbar\n ...configurationOverrides.value,\n}))\n\n/** Convenience break out var to determine which routing mode we are using */\nconst basePath = computed(() => mergedConfig.value.pathRouting?.basePath)\n\nconst themeStyle = computed(() =>\n getThemeStyles(mergedConfig.value.theme, {\n fonts: mergedConfig.value.withDefaultFonts,\n }),\n)\n\n/** Plugin injection is not reactive. All plugins must be provided at first render */\nprovide(\n PLUGIN_MANAGER_SYMBOL,\n createPluginManager({\n plugins: Object.values(configList.value).flatMap(\n (c) => c.config.plugins ?? [],\n ),\n }),\n)\n// ---------------------------------------------------------------------------\n/** Navigation State Handling */\n\n// Front-end redirect\nif (mergedConfig.value.redirect && typeof window !== 'undefined') {\n const newPath = mergedConfig.value.redirect(\n (mergedConfig.value.pathRouting ? window.location.pathname : '') +\n window.location.hash,\n )\n if (newPath) {\n window.history.replaceState({}, '', newPath)\n }\n}\n\n/**\n * Sets the active slug and updates the URL with the selected document slug\n *\n * If an element ID is passed in we will configure the path or hash routing\n */\nfunction syncSlugAndUrlWithDocument(\n slug: string,\n elementId: string | undefined,\n config: ApiReferenceConfigurationRaw,\n) {\n // We create a new URL and go to the root element if an ID is not provided\n const url = makeUrlFromId(\n elementId || slug,\n config.pathRouting?.basePath,\n isMultiDocument.value,\n )\n\n if (url) {\n window.history.replaceState({}, '', url.toString())\n }\n\n // Update the active slug\n activeSlug.value = slug\n}\n\n// ---------------------------------------------------------------------------\n/** Workspace Store Initialization */\n\n/**\n * Initializes the new client workspace store.\n */\nconst workspaceStore = createWorkspaceStore({\n verbose: isDevelopment,\n plugins: [\n persistencePlugin({\n prefix: () => activeSlug.value,\n persistAuth: () => mergedConfig.value.persistAuth ?? false,\n }),\n ],\n})\n\n// TODO: persistence should be hoisted into standalone\n// Client side integrations will want to handle dark mode externally\nconst { toggleColorMode, isDarkMode } = useColorMode({\n initialColorMode: {\n true: 'dark' as const,\n false: 'light' as const,\n undefined: 'system' as const,\n }[String(mergedConfig.value.darkMode)],\n overrideColorMode: mergedConfig.value.forceDarkModeState,\n})\n\n/**\n * Create top level sidebar entries for each document\n * This allows sharing a single sidebar state for across the workspace\n */\nconst itemsFromWorkspace = computed<TraversedEntry[]>(() => {\n return Object.entries(workspaceStore.workspace.documents).map(\n ([slug, document]) => ({\n id: slug,\n type: 'document',\n description: document.info.description,\n name: document.info.title ?? slug,\n title: document.info.title ?? slug,\n children: document?.['x-scalar-navigation']?.children ?? [],\n }),\n )\n})\n\n/** Initialize the sidebar */\nconst sidebarState = createSidebarState<TraversedEntry>(itemsFromWorkspace, {\n hooks: {},\n})\n\n/** Recursively set all children of the given items to open */\nconst setChildrenOpen = (items: TraversedEntry[]): void => {\n items.forEach((item) => {\n if (item.type === 'tag' || item.type === 'models') {\n sidebarState.setExpanded(item.id, true)\n }\n if ('children' in item && item.children) {\n setChildrenOpen(item.children)\n }\n })\n}\n\n/** We get the sub items for the sidebar based on the configuration/document slug */\nconst sidebarItems = computed<TraversedEntry[]>(() => {\n const config = mergedConfig.value\n\n if (!config) {\n return []\n }\n\n const docItems =\n sidebarState.items.value.find(\n (item): item is TraversedTag => item.id === activeSlug.value,\n )?.children ?? []\n\n // When the default open all tags configuration is enabled we open all the children of the document\n if (config.defaultOpenAllTags) {\n setChildrenOpen(docItems)\n }\n\n // When the expand all model sections configuration is enabled we open all the children of the models tag\n if (config.expandAllModelSections) {\n const models = docItems.find(\n (item): item is TraversedTag => item.type === 'models',\n )\n if (models) {\n sidebarState.setExpanded(models.id, true)\n models.children?.forEach((child) => {\n sidebarState.setExpanded(child.id, true)\n })\n }\n }\n\n return docItems\n})\n\n/** Find the sidebar entry that represents the introduction section */\nconst infoSectionId = computed(\n () =>\n sidebarItems.value.find(\n (item) => item.type === 'text' && item.title === 'Introduction',\n )?.id,\n)\n\n/** User for mobile navigation */\nconst breadcrumb = ref('')\n\nconst slotProps = computed(() => ({\n breadcrumb: breadcrumb.value,\n}))\n\nconst setBreadcrumb = (id: string) => {\n const item = sidebarState.getEntryById(id)\n\n if (!item || item.type === 'document') {\n breadcrumb.value = ''\n } else {\n breadcrumb.value = item.title\n }\n}\n\nconst scrollToLazyElement = (id: string) => {\n setBreadcrumb(id)\n sidebarState.setSelected(id)\n _scrollToLazy(id, sidebarState.setExpanded, sidebarState.getEntryById)\n}\n\n/** Maps some config values to the workspace store to keep it reactive */\nmapConfigToWorkspaceStore({\n config: () => mergedConfig.value,\n store: workspaceStore,\n isDarkMode,\n})\n\n/** Merged environment variables from workspace and document levels */\nconst environment = computed(() =>\n getActiveEnvironment(\n workspaceStore,\n workspaceStore.workspace.activeDocument ?? null,\n ),\n)\n\nif (typeof window !== 'undefined') {\n // @ts-expect-error - For debugging purposes expose the store\n window.dataDumpWorkspace = () => workspaceStore\n}\n\n// For testing\ndefineExpose({\n eventBus,\n workspaceStore,\n sidebarItems,\n})\n\n// ---------------------------------------------------------------------------\n// Document Management\n\n/**\n * Handle changing the active document\n *\n * 1. If the document has not be loaded to the workspace store we set it to empty and asynchronously load it\n * 2. If the document has been loaded to the workspace store we just set it to active\n * 3. If the content from the configuration has changes we need to update the document in the workspace store\n */\nconst changeSelectedDocument = async (\n slug: string,\n elementId?: string | undefined,\n) => {\n const normalized = configList.value[slug]\n\n if (!normalized) {\n console.warn(`Document ${slug} not found in configList`)\n return\n }\n\n const config = {\n ...normalized.config,\n ...configurationOverrides.value,\n }\n\n // Store `onDocumentSelect` result to await its execution later, before calling `onLoaded`\n const onDocumentSelectPromise = config.onDocumentSelect?.()\n\n // Set the active slug and update any routing\n syncSlugAndUrlWithDocument(slug, elementId, config)\n\n // Update the document on the route as well, the method and path don't matter as we update them before opening\n apiClient.value?.route({\n documentSlug: slug,\n method: 'get',\n path: '/',\n })\n\n const isFirstLoad = !workspaceStore.workspace.documents[slug]\n\n // If the document is not in the store, we asynchronously load it\n if (isFirstLoad) {\n const result = await workspaceStore.addDocument(\n normalized.source.url\n ? {\n name: slug,\n url: normalized.source.url,\n fetch: config.fetch,\n }\n : {\n name: slug,\n document: normalized.source.content ?? {},\n },\n config,\n )\n\n const document = workspaceStore.workspace.documents[slug]\n\n // If the document does not have a selected server we set it to the first server\n if (\n result === true &&\n document !== undefined &&\n document['x-scalar-selected-server'] === undefined\n ) {\n // Set the active server if the document is loaded successfully\n const servers = getServers(\n normalized.config.servers ?? document.servers,\n {\n baseServerUrl: mergedConfig.value.baseServerURL,\n documentUrl: normalized.source.url,\n },\n )\n if (servers.length > 0) {\n workspaceStore.updateDocument(\n slug,\n 'x-scalar-selected-server',\n servers[0]!.url,\n )\n }\n }\n }\n\n // Always set it to active; if the document is null we show a loading state\n workspaceStore.update('x-scalar-active-document', slug)\n\n // If the document has persistence enabled we load the auth schemes from storage\n if (config.persistAuth) {\n loadAuthFromStorage(workspaceStore, slug)\n }\n\n // ensure that `onLoaded` hook doesn't block execution but is executed after `onDocumentSelect`\n void (async () => {\n await onDocumentSelectPromise\n void config.onLoaded?.(slug)\n })()\n\n // When loading to a specified element we need to freeze and scroll\n if (elementId && elementId !== slug) {\n scrollToLazyElement(elementId)\n }\n // If there is no child element of the document specified and defaultOpenFirstTag is enabled, we expand the first tag\n else if (config.defaultOpenFirstTag) {\n const firstTag = sidebarItems.value.find((item) => item.type === 'tag')\n if (firstTag) {\n sidebarState.setExpanded(firstTag.id, true)\n }\n }\n}\n\n/**\n * TODO:Move this to a dedicated updateDocument function in the future and\n * away from vue-reactivity based updates\n */\nwatch(\n () => Object.values(configList.value),\n async (newConfigList, oldConfigList) => {\n /**\n * Handles replacing and updating documents within the workspace store\n * when we detect configuration changes.\n */\n const updateSource = async (\n updated: NormalizedConfiguration,\n previous: NormalizedConfiguration | undefined,\n ) => {\n /** If we have not loaded the document previously we don't need to handle any updates to store */\n if (!workspaceStore.workspace.documents[updated.slug]) {\n return\n }\n /** If the URL has changed we fetch and rebase */\n if (updated.source.url && updated.source.url !== previous?.source.url) {\n await workspaceStore.addDocument(\n {\n name: updated.slug,\n url: updated.source.url,\n fetch: updated.config.fetch,\n },\n updated.config,\n )\n\n return\n }\n\n // If the was not a URL change then we require a document to continue\n if (!updated.source.content) {\n return\n }\n\n /**\n * We need to deeply check for document changes. Parse documents and then only rebase\n * if we detect deep changes in the two sources\n */\n if (\n diff(\n updated.source.content,\n previous && 'content' in previous.source\n ? (previous.source.content ?? {})\n : {},\n ).length\n ) {\n await workspaceStore.addDocument(\n {\n name: updated.slug,\n document: updated.source.content,\n },\n updated.config,\n )\n }\n }\n\n newConfigList.forEach((newConfig, index) =>\n updateSource(newConfig, oldConfigList[index]),\n )\n\n const newSlugs = newConfigList.map((c) => c.slug)\n const oldSlugs = oldConfigList.map((c) => c.slug)\n\n // If the slugs have changed, we need to update the active document and the URL query param\n if (\n newSlugs.length !== oldSlugs.length ||\n !newSlugs.every((slug, index) => slug === oldSlugs[index])\n ) {\n await changeSelectedDocument(newSlugs[0] ?? '')\n }\n },\n {\n deep: true,\n },\n)\n\n/** Preload the first document during SSR */\nonServerPrefetch(() => changeSelectedDocument(activeSlug.value))\n\n/** Load the first document on page load */\nonBeforeMount(async () => {\n loadClientFromStorage(workspaceStore)\n\n await changeSelectedDocument(\n activeSlug.value,\n getIdFromUrl(\n window.location.href,\n configList.value[activeSlug.value]?.config.pathRouting?.basePath,\n isMultiDocument.value ? undefined : activeSlug.value,\n ),\n )\n})\n\nconst documentUrl = computed(() => {\n return configList.value[activeSlug.value]?.source?.url\n})\n\n// --------------------------------------------------------------------------- */\n// Agent Scalar\n\n/**\n * Determines if Agent Scalar should be enabled based on the configuration and the current URL\n *\n * - If the agent is disabled in the configuration, it should not be enabled\n * - If the current URL is a local URL, it should be enabled\n * - If the agent key is set, it should be enabled\n */\nconst agent = useAgent({\n agentEnabled: computed(() => {\n const currentConfiguration = configList.value[activeSlug.value]\n\n if (currentConfiguration?.agent?.disabled) {\n return false\n }\n\n if (typeof window !== 'undefined' && isLocalUrl(window.location.href)) {\n return true\n }\n\n return Boolean(configList.value[activeSlug.value]?.agent?.key)\n }),\n})\nprovide(AGENT_CONTEXT_SYMBOL, agent)\n\n// --------------------------------------------------------------------------- */\n// Api Client Modal\n\n// Setup the ApiClient on mount\nconst modal = useTemplateRef<HTMLElement>('modal')\nconst apiClient = ref<ApiClientModal | null>(null)\nonMounted(() => {\n if (!modal.value) {\n return\n }\n\n apiClient.value = createApiClientModal({\n el: modal.value,\n eventBus,\n workspaceStore,\n options: mergedConfig,\n plugins: mapConfigPlugins(mergedConfig),\n })\n})\nonBeforeUnmount(() => {\n apiClient.value?.app.unmount()\n})\n\n// ---------------------------------------------------------------------------\n// Top level event handlers and user specified callbacks\n\n/** Ensure we call the onServerChange callback */\neventBus.on('server:update:selected', ({ url }) =>\n mergedConfig.value.onServerChange?.(url),\n)\n\n/** Download the document from the store */\neventBus.on('ui:download:document', async ({ format }) => {\n const document = await workspaceStore.exportActiveDocument(format)\n\n if (!document) {\n console.error('No document found to download')\n return\n }\n\n downloadDocument(document, activeSlug.value ?? 'openapi', format)\n})\n\n// ---------------------------------------------------------------------------\n// Local event and scroll handling\n\n/**\n * Handler for a direct navigation event such as a sidebar or search click\n *\n * Depending on the item type we handle a selection event differently:\n *\n * - Tag: If a tag is closed we open it and all its parents and scroll to it\n * If a tag is open we just close the tag\n * - Operation:\n * Open all parents and scroll to the operation\n */\nconst handleSelectSidebarEntry = (id: string, caller?: 'sidebar') => {\n const item = sidebarState.getEntryById(id)\n\n if (\n (item?.type === 'tag' ||\n item?.type === 'models' ||\n item?.type === 'text') &&\n sidebarState.isExpanded(id) && // Only close if the item is expanded\n sidebarState.selectedItem.value === id // Only close if the item is not the currently selected item\n ) {\n // hack until we fix intersection logic\n const unblock = blockIntersection()\n\n sidebarState.setExpanded(id, false)\n\n unblock()\n\n return\n }\n\n // Close the mobile menu upon selecting any item that's not a tag or model\n if (item?.type !== 'tag' && item?.type !== 'models') {\n isSidebarOpen.value = false\n }\n\n scrollToLazyElement(id)\n\n const url = makeUrlFromId(id, basePath.value, isMultiDocument.value)\n if (url) {\n window.history.pushState({}, '', url)\n\n // Trigger the onSidebarClick callback if the caller is sidebar\n if (caller === 'sidebar') {\n mergedConfig.value.onSidebarClick?.(url.toString())\n }\n }\n\n if (agent.showAgent.value) {\n agent.closeAgent()\n }\n}\n\n/** Handle a navigation item selection event */\neventBus.on('select:nav-item', ({ id }) => handleSelectSidebarEntry(id))\n\n/** Handle a scroll to navigation item event */\neventBus.on('scroll-to:nav-item', ({ id }) => handleSelectSidebarEntry(id))\n\n/** Handle an intersecting navigation item event */\neventBus.on('intersecting:nav-item', ({ id }) => {\n if (!intersectionEnabled.value) {\n return\n }\n\n sidebarState.setSelected(id)\n setBreadcrumb(id)\n\n // Scroll the sidebar to keep the selected element near the top\n scrollSidebarToTop(id)\n\n const url = makeUrlFromId(id, basePath.value, isMultiDocument.value)\n if (url && workspaceStore.workspace.activeDocument) {\n window.history.replaceState({}, '', url.toString())\n }\n})\n\neventBus.on('toggle:nav-item', ({ id, open }) => {\n if (open) {\n mergedConfig.value.onShowMore?.(id)\n\n // Pre-queue first child so it renders immediately when the tag expands\n const entry = sidebarState.getEntryById(id)\n if (entry && 'children' in entry && entry.children) {\n const first = entry.children[0]\n\n if (first) {\n addToPriorityQueue(first.id)\n }\n }\n }\n sidebarState.setExpanded(id, open ?? !sidebarState.isExpanded(id))\n})\n\neventBus.on('copy-url:nav-item', ({ id }) => {\n const url = makeUrlFromId(\n id,\n basePath.value,\n isMultiDocument.value,\n )?.toString()\n return url && copyToClipboard(url)\n})\n\n// ---------------------------------------------------------------------------\n// History and scroll restoration\n\nonBeforeMount(() => {\n window.history.scrollRestoration = 'manual'\n // Ensure we add our scalar wrapper class to the headless ui root, mounted is too late\n addScalarClassesToHeadless()\n\n // When we detect a back button press we scroll to the new id\n window.addEventListener('popstate', () => {\n const id = getIdFromUrl(\n window.location.href,\n mergedConfig.value.pathRouting?.basePath,\n isMultiDocument.value ? undefined : activeSlug.value,\n )\n if (id) {\n scrollToLazyElement(id)\n }\n })\n})\n\n// ---------------------------------------------------------------------------\n// Document start intersection observer\n\nconst documentStartRef = useTemplateRef<HTMLElement>('documentStartRef')\n\nuseIntersection(documentStartRef, () => {\n eventBus.emit('intersecting:nav-item', { id: activeSlug.value })\n})\n\nconst colorMode = computed(() => {\n const mode = workspaceStore.workspace['x-scalar-color-mode']\n\n if (mode === 'system') {\n return getSystemModePreference()\n }\n\n return mode\n})\n\nconst bodyScrollLocked = useScrollLock(\n typeof document !== 'undefined' ? document.body : null,\n)\n\nwatch(agent.showAgent, () => (bodyScrollLocked.value = agent.showAgent.value))\n\nconst showMCPButton = computed(() => {\n if (mergedConfig.value.mcp?.disabled) {\n return false\n }\n\n if (typeof window !== 'undefined' && isLocalUrl(window.location.href)) {\n return true\n }\n\n if (mergedConfig.value.mcp) {\n return true\n }\n\n return false\n})\n</script>\n\n<template>\n <!-- SingleApiReference -->\n <div>\n <!-- Inject any custom CSS directly into a style tag -->\n <component :is=\"'style'\">\n {{ mergedConfig.customCss }}\n {{ themeStyle }}\n </component>\n <div\n ref=\"documentEl\"\n class=\"scalar-app scalar-api-reference references-layout\"\n :class=\"[\n {\n 'scalar-api-references-standalone-mobile': mergedConfig.showSidebar,\n 'scalar-scrollbars-obtrusive': obtrusiveScrollbars,\n 'references-editable': mergedConfig.isEditable,\n 'references-sidebar': mergedConfig.showSidebar,\n 'references-sidebar-mobile-open': isSidebarOpen,\n 'references-classic': mergedConfig.layout === 'classic',\n },\n $attrs.class,\n ]\">\n <!-- Agent Scalar -->\n <AgentScalarDrawer\n v-if=\"agent.agentEnabled.value\"\n :agentScalarConfiguration=\"configList[activeSlug]?.agent\"\n :eventBus\n :workspaceStore />\n\n <!-- Mobile Header and Sidebar when in modern layout -->\n\n <MobileHeader\n v-if=\"mergedConfig.layout === 'modern'\"\n :breadcrumb=\"breadcrumb\"\n :isSidebarOpen=\"isSidebarOpen\"\n :showSidebar=\"mergedConfig.showSidebar\"\n @toggleSidebar=\"() => (isSidebarOpen = !isSidebarOpen)\">\n <template #search>\n <SearchButton\n v-if=\"!mergedConfig.hideSearch\"\n class=\"my-2\"\n :document=\"workspaceStore.workspace.activeDocument\"\n :eventBus=\"eventBus\"\n :hideModels=\"mergedConfig.hideModels\"\n :searchHotKey=\"mergedConfig.searchHotKey\"\n :showSidebar=\"mergedConfig.showSidebar\" />\n </template>\n <template #sidebar=\"{ sidebarClasses }\">\n <ScalarSidebar\n v-if=\"mergedConfig.showSidebar && mergedConfig.layout === 'modern'\"\n :aria-label=\"`Sidebar for ${workspaceStore.workspace.activeDocument?.info?.title}`\"\n class=\"t-doc__sidebar\"\n :class=\"sidebarClasses\"\n :isExpanded=\"sidebarState.isExpanded\"\n :isSelected=\"sidebarState.isSelected\"\n :items=\"sidebarItems\"\n layout=\"reference\"\n :options=\"mergedConfig\"\n role=\"navigation\"\n @selectItem=\"(id) => handleSelectSidebarEntry(id, 'sidebar')\"\n @toggleGroup=\"\n (id: string) =>\n sidebarState.setExpanded(id, !sidebarState.isExpanded(id))\n \">\n <template #header>\n <!-- Wrap in a div when slot is filled -->\n <DocumentSelector\n v-if=\"documentOptionList.length > 1\"\n class=\"p-3 pb-0\"\n :modelValue=\"activeSlug\"\n :options=\"documentOptionList\"\n @update:modelValue=\"changeSelectedDocument\" />\n\n <!-- Search -->\n <div\n v-if=\"!mergedConfig.hideSearch\"\n class=\"flex gap-1.5 px-3 pt-3\">\n <SearchButton\n :document=\"workspaceStore.workspace.activeDocument\"\n :eventBus=\"eventBus\"\n :hideModels=\"mergedConfig.hideModels\"\n :searchHotKey=\"mergedConfig.searchHotKey\" />\n\n <AgentScalarButton v-if=\"agent.agentEnabled.value\" />\n </div>\n <!-- Sidebar Start -->\n <slot\n name=\"sidebar-start\"\n v-bind=\"slotProps\" />\n </template>\n <template #footer>\n <slot\n name=\"sidebar-end\"\n v-bind=\"slotProps\">\n <!-- We default the sidebar footer to the standard scalar elements -->\n <ScalarSidebarFooter class=\"darklight-reference\">\n <OpenApiClientButton\n v-if=\"!mergedConfig.hideClientButton && !showMCPButton\"\n buttonSource=\"sidebar\"\n :integration=\"mergedConfig._integration\"\n :isDevelopment=\"isDevelopment\"\n :url=\"documentUrl\" />\n <OpenMCPButton\n v-if=\"showMCPButton\"\n :config=\"mergedConfig.mcp\"\n :isDevelopment=\"isDevelopment\"\n :url=\"documentUrl\"\n :workspace=\"workspaceStore\" />\n <!-- Override the dark mode toggle slot to hide it -->\n <template #toggle>\n <ScalarColorModeToggleButton\n v-if=\"\n !mergedConfig.hideDarkModeToggle &&\n !mergedConfig.forceDarkModeState\n \"\n :modelValue=\"colorMode === 'dark'\"\n @update:modelValue=\"() => toggleColorMode()\" />\n <span v-else />\n </template>\n </ScalarSidebarFooter>\n </slot>\n </template>\n </ScalarSidebar>\n </template>\n </MobileHeader>\n\n <!-- Primary Content -->\n <main\n :aria-label=\"`Open API Documentation for ${workspaceStore.workspace.activeDocument?.info?.title}`\"\n class=\"references-rendered\"\n :inert=\"agent.showAgent.value\">\n <Content\n :authStore=\"workspaceStore.auth\"\n :document=\"workspaceStore.workspace.activeDocument\"\n :environment\n :eventBus\n :expandedItems=\"sidebarState.expandedItems.value\"\n :headingSlugGenerator=\"\n mergedConfig.generateHeadingSlug ??\n ((heading) => `${activeSlug}/description/${heading.slug}`)\n \"\n :infoSectionId=\"infoSectionId ?? 'description/introduction'\"\n :items=\"sidebarItems\"\n :options=\"mergedConfig\"\n :xScalarDefaultClient=\"\n workspaceStore.workspace['x-scalar-default-client']\n \">\n <template #start>\n <DeveloperTools\n v-if=\"workspaceStore.workspace.activeDocument\"\n v-model:overrides=\"configurationOverrides\"\n class=\"references-developer-tools\"\n :configuration=\"mergedConfig\"\n :workspace=\"workspaceStore\" />\n\n <!-- Placeholder intersection observer that emits an empty string to clear the hash when scrolled to the top -->\n <div ref=\"documentStartRef\" />\n\n <ClassicHeader v-if=\"mergedConfig.layout === 'classic'\">\n <div class=\"w-64 empty:hidden\">\n <DocumentSelector\n v-if=\"documentOptionList.length > 1\"\n :modelValue=\"activeSlug\"\n :options=\"documentOptionList\"\n @update:modelValue=\"changeSelectedDocument\" />\n </div>\n <SearchButton\n v-if=\"!mergedConfig.hideSearch\"\n class=\"t-doc__sidebar max-w-64\"\n :document=\"workspaceStore.workspace.activeDocument\"\n :eventBus=\"eventBus\"\n :hideModels=\"mergedConfig.hideModels\"\n :searchHotKey=\"mergedConfig.searchHotKey\" />\n <template #dark-mode-toggle>\n <ScalarColorModeToggleIcon\n v-if=\"\n !mergedConfig.hideDarkModeToggle &&\n !mergedConfig.forceDarkModeState\n \"\n class=\"text-c-2 hover:text-c-1\"\n :mode=\"colorMode\"\n style=\"transform: scale(1.4)\"\n variant=\"icon\"\n @click=\"() => toggleColorMode()\" />\n </template>\n </ClassicHeader>\n <slot\n name=\"content-start\"\n v-bind=\"slotProps\" />\n </template>\n <!-- TODO: Remove this; we no longer directly support an inline editor -->\n <template\n v-if=\"mergedConfig.isEditable\"\n #empty-state>\n <slot\n name=\"editor-placeholder\"\n v-bind=\"slotProps\" />\n </template>\n <template #end>\n <slot\n name=\"content-end\"\n v-bind=\"slotProps\" />\n </template>\n </Content>\n </main>\n <!-- Optional Footer -->\n <div\n v-if=\"$slots.footer\"\n class=\"references-footer\">\n <slot\n name=\"footer\"\n v-bind=\"slotProps\" />\n </div>\n <!-- Client Modal mount point -->\n <div ref=\"modal\" />\n </div>\n <ScalarToasts />\n </div>\n</template>\n\n<style>\n@import '@/style.css';\n\n/* Add base styles to the body. Removed browser default margins for a better experience. */\n@layer scalar-base {\n body {\n margin: 0;\n background-color: var(--scalar-background-1);\n }\n}\n/** Used to check if css is loaded */\n:root {\n --scalar-loaded-api-reference: true;\n}\n</style>\n<style scoped>\n/* Configurable Layout Variables */\n@layer scalar-config {\n .scalar-api-reference {\n /* The header height */\n --refs-header-height: calc(\n var(--scalar-custom-header-height, 0px) + var(--scalar-header-height, 0px)\n );\n /* The offset of visible references content (minus headers) */\n --refs-viewport-offset: calc(\n var(--refs-header-height, 0px) + var(--refs-content-offset, 0px)\n );\n /* The calculated height of visible references content (minus headers) */\n --refs-viewport-height: calc(\n var(--full-height, 100dvh) - var(--refs-viewport-offset, 0px)\n );\n /* The width of the sidebar */\n --refs-sidebar-width: var(--scalar-sidebar-width, 0px);\n /* The height of the sidebar */\n --refs-sidebar-height: calc(\n var(--full-height, 100dvh) - var(--refs-header-height, 0px)\n );\n /* The maximum width of the content column */\n --refs-content-max-width: var(--scalar-content-max-width, 1540px);\n }\n\n .scalar-api-reference.references-classic {\n /* Classic layout is wider */\n --refs-content-max-width: var(--scalar-content-max-width, 1420px);\n min-height: 100dvh;\n --refs-sidebar-width: 0;\n }\n}\n.t-doc__sidebar {\n z-index: 10;\n}\n\n/* ----------------------------------------------------- */\n/* References Layout */\n.references-layout {\n /* Try to fill the container */\n min-height: 100dvh;\n min-width: 100%;\n max-width: 100%;\n flex: 1;\n\n /*\n Calculated by a resize observer and set in the style attribute\n Falls back to the viewport height\n */\n --full-height: 100dvh;\n\n /* Grid layout */\n display: grid;\n grid-template-rows: var(--scalar-header-height, 0px) repeat(2, auto);\n grid-template-columns: auto 1fr;\n grid-template-areas:\n 'header header'\n 'navigation rendered'\n 'footer footer';\n\n background: var(--scalar-background-1);\n}\n\n.references-editor {\n grid-area: editor;\n display: flex;\n min-width: 0;\n background: var(--scalar-background-1);\n}\n\n.references-rendered {\n position: relative;\n grid-area: rendered;\n min-width: 0;\n background: var(--scalar-background-1);\n}\n.scalar-api-reference.references-classic,\n.references-classic .references-rendered {\n height: initial !important;\n max-height: initial !important;\n}\n\n@layer scalar-config {\n .references-sidebar {\n /* Set a default width if references are enabled */\n --refs-sidebar-width: var(--scalar-sidebar-width, 288px);\n }\n}\n\n/* Footer */\n.references-footer {\n grid-area: footer;\n}\n/* ----------------------------------------------------- */\n/* Responsive / Mobile Layout */\n\n@media (max-width: 1000px) {\n /* Keep toolbar hidden on mobile without forcing desktop display mode. */\n .references-developer-tools {\n display: none;\n }\n\n /* Stack view on mobile */\n .references-layout {\n /* Adjust the sidebar height to the viewport height minus the header height */\n --refs-sidebar-height: calc(\n var(--full-height, 100dvh) - var(--scalar-custom-header-height, 0px)\n );\n\n grid-template-columns: 100%;\n grid-template-rows: var(--scalar-header-height, 0px) 0px auto auto;\n\n grid-template-areas:\n 'header'\n 'navigation'\n 'rendered'\n 'footer';\n }\n .references-editable {\n grid-template-areas:\n 'header'\n 'navigation'\n 'editor';\n }\n\n .references-rendered {\n position: static;\n }\n}\n</style>\n<style scoped>\n/**\n* Sidebar CSS for standalone\n* TODO: @brynn move this to the sidebar block OR the ApiReferenceStandalone component\n* when the new elements are available\n*/\n@media (max-width: 1000px) {\n .scalar-api-references-standalone-mobile:not(.references-classic) {\n --scalar-header-height: 50px;\n }\n}\n</style>\n<style scoped>\n.darklight-reference {\n width: 100%;\n margin-top: auto;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
import Badge_vue_vue_type_script_setup_true_lang_default from "./Badge.vue.script.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
//#region src/components/Badge/Badge.vue
|
|
5
|
+
var Badge_default = /* @__PURE__ */ _plugin_vue_export_helper_default(Badge_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-3dedb7e4"]]);
|
|
6
|
+
//#endregion
|
|
7
|
+
export { Badge_default as default };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=Badge.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.vue.js","names":[],"sources":["../../../src/components/Badge/Badge.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nconst { color } = defineProps<{\n color?: string\n}>()\n\nconst badgeStyle = computed(() =>\n color\n ? {\n '--badge-background-color': color,\n '--badge-text-color': `color-mix(in srgb, ${color}, black 40%)`,\n }\n : {},\n)\n</script>\n\n<template>\n <div\n class=\"badge\"\n :style=\"badgeStyle\">\n <slot />\n </div>\n</template>\n\n<style scoped>\n.badge {\n color: var(--badge-text-color, var(--scalar-color-2));\n font-size: var(--scalar-mini);\n background: var(--badge-background-color, var(--scalar-background-2));\n border: var(--scalar-border-width) solid\n var(--badge-border-color, var(--scalar-border-color));\n padding: 2px 6px;\n border-radius: 12px;\n display: inline-block;\n}\n.badge.text-orange {\n background: color-mix(in srgb, var(--scalar-color-orange), transparent 90%);\n border: transparent;\n}\n.badge.text-yellow {\n background: color-mix(in srgb, var(--scalar-color-yellow), transparent 90%);\n border: transparent;\n}\n.badge.text-red {\n background: color-mix(in srgb, var(--scalar-color-red), transparent 90%);\n border: transparent;\n}\n.badge.text-purple {\n background: color-mix(in srgb, var(--scalar-color-purple), transparent 90%);\n border: transparent;\n}\n.badge.text-green {\n background: color-mix(in srgb, var(--scalar-color-green), transparent 90%);\n border: transparent;\n}\n</style>\n"],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { computed, createElementBlock, defineComponent, normalizeStyle, openBlock, renderSlot } from "vue";
|
|
2
|
+
//#region src/components/Badge/Badge.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var Badge_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
4
|
+
__name: "Badge",
|
|
5
|
+
props: { color: {} },
|
|
6
|
+
setup(__props) {
|
|
7
|
+
const badgeStyle = computed(() => __props.color ? {
|
|
8
|
+
"--badge-background-color": __props.color,
|
|
9
|
+
"--badge-text-color": `color-mix(in srgb, ${__props.color}, black 40%)`
|
|
10
|
+
} : {});
|
|
11
|
+
return (_ctx, _cache) => {
|
|
12
|
+
return openBlock(), createElementBlock("div", {
|
|
13
|
+
class: "badge",
|
|
14
|
+
style: normalizeStyle(badgeStyle.value)
|
|
15
|
+
}, [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 4);
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
//#endregion
|
|
20
|
+
export { Badge_vue_vue_type_script_setup_true_lang_default as default };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=Badge.vue.script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.vue.script.js","names":[],"sources":["../../../src/components/Badge/Badge.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nconst { color } = defineProps<{\n color?: string\n}>()\n\nconst badgeStyle = computed(() =>\n color\n ? {\n '--badge-background-color': color,\n '--badge-text-color': `color-mix(in srgb, ${color}, black 40%)`,\n }\n : {},\n)\n</script>\n\n<template>\n <div\n class=\"badge\"\n :style=\"badgeStyle\">\n <slot />\n </div>\n</template>\n\n<style scoped>\n.badge {\n color: var(--badge-text-color, var(--scalar-color-2));\n font-size: var(--scalar-mini);\n background: var(--badge-background-color, var(--scalar-background-2));\n border: var(--scalar-border-width) solid\n var(--badge-border-color, var(--scalar-border-color));\n padding: 2px 6px;\n border-radius: 12px;\n display: inline-block;\n}\n.badge.text-orange {\n background: color-mix(in srgb, var(--scalar-color-orange), transparent 90%);\n border: transparent;\n}\n.badge.text-yellow {\n background: color-mix(in srgb, var(--scalar-color-yellow), transparent 90%);\n border: transparent;\n}\n.badge.text-red {\n background: color-mix(in srgb, var(--scalar-color-red), transparent 90%);\n border: transparent;\n}\n.badge.text-purple {\n background: color-mix(in srgb, var(--scalar-color-purple), transparent 90%);\n border: transparent;\n}\n.badge.text-green {\n background: color-mix(in srgb, var(--scalar-color-green), transparent 90%);\n border: transparent;\n}\n</style>\n"],"mappings":";;;;;;EAOA,MAAM,aAAa,eACjB,QAAA,QACI;GACE,4BAA4B,QAAA;GAC5B,sBAAsB,sBAAsB,QAAA,MAAM;GACpD,GACA,EAAE,CACR;;uBAIE,mBAIM,OAAA;IAHJ,OAAM;IACL,OAAK,eAAE,WAAA,MAAU;OAClB,WAAQ,KAAA,QAAA,WAAA,EAAA,EAAA,KAAA,GAAA,KAAA,CAAA,EAAA,EAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default as Badge } from './Badge.vue';
|
|
1
|
+
export { default as Badge } from './Badge.vue.js';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../_virtual/_plugin-vue_export-helper.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
import { createElementBlock, createElementVNode, openBlock, renderSlot } from "vue";
|
|
4
|
+
//#region src/components/ClassicHeader.vue
|
|
5
|
+
var _sfc_main = {};
|
|
6
|
+
var _hoisted_1 = { class: "references-classic-header-container" };
|
|
7
|
+
var _hoisted_2 = { class: "references-classic-header" };
|
|
8
|
+
var _hoisted_3 = { class: "references-classic-header-content" };
|
|
9
|
+
function _sfc_render(_ctx, _cache) {
|
|
10
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [createElementVNode("div", _hoisted_2, [createElementVNode("div", _hoisted_3, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), renderSlot(_ctx.$slots, "dark-mode-toggle", {}, void 0, true)])]);
|
|
11
|
+
}
|
|
12
|
+
var ClassicHeader_default = /* @__PURE__ */ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-8a3822ca"]]);
|
|
13
|
+
//#endregion
|
|
14
|
+
export { ClassicHeader_default as default };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=ClassicHeader.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClassicHeader.vue.js","names":[],"sources":["../../src/components/ClassicHeader.vue"],"sourcesContent":["<script setup lang=\"ts\"></script>\n<template>\n <div class=\"references-classic-header-container\">\n <div class=\"references-classic-header\">\n <div class=\"references-classic-header-content\">\n <slot />\n </div>\n <slot name=\"dark-mode-toggle\" />\n </div>\n </div>\n</template>\n<style scoped>\n.references-classic-header {\n display: flex;\n align-items: center;\n gap: 12px;\n\n max-width: var(--refs-content-max-width);\n margin: auto;\n padding: 12px 0;\n}\n.references-classic-header-content {\n display: flex;\n gap: 12px;\n flex-grow: 1;\n}\n\n.references-classic-header-container {\n position: relative;\n padding: 0 60px;\n}\n@container narrow-references-container (max-width: 900px) {\n .references-classic-header {\n padding: 12px 24px;\n }\n .references-classic-header-container {\n padding: 0;\n }\n}\n.references-classic-header-icon {\n height: 24px;\n color: var(--scalar-color-1);\n}\n</style>\n"],"mappings":";;;;;mBAEO,OAAM,uCAAqC;mBACzC,OAAM,6BAA2B;mBAC/B,OAAM,qCAAmC;;qBAFlD,mBAOM,OAPN,YAOM,CANJ,mBAKM,OALN,YAKM,CAJJ,mBAEM,OAFN,YAEM,CADJ,WAAQ,KAAA,QAAA,WAAA,EAAA,EAAA,KAAA,GAAA,KAAA,CAAA,CAAA,EAEV,WAAgC,KAAA,QAAA,oBAAA,EAAA,EAAA,KAAA,GAAA,KAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import Auth_vue_vue_type_script_setup_true_lang_default from "./Auth.vue.script.js";
|
|
2
|
+
//#region src/components/Content/Auth/Auth.vue
|
|
3
|
+
var Auth_default = Auth_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { Auth_default as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=Auth.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Auth.vue.js","names":[],"sources":["../../../../src/components/Content/Auth/Auth.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n AuthSelector,\n type MergedSecuritySchemes,\n} from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\nimport {\n getSecurityRequirements,\n getSelectedSecurity,\n} from '@scalar/api-client/v2/features/operation'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport type { WorkspaceDocument } from '@scalar/workspace-store/schemas/workspace'\nimport { computed, watch } from 'vue'\n\nimport { getDefaultSecurity } from '@/components/Content/Auth/helpers/get-default-security'\n\nconst { document, environment, eventBus, options, securitySchemes, authStore } =\n defineProps<{\n options: Pick<\n ApiReferenceConfigurationRaw,\n 'authentication' | 'persistAuth' | 'proxyUrl'\n >\n authStore: AuthStore\n document: WorkspaceDocument | undefined\n eventBus: WorkspaceEventBus\n securitySchemes: MergedSecuritySchemes\n selectedServer: ServerObject | null\n environment: XScalarEnvironment\n }>()\n\n/** Compute what the security requirements should be for the document */\nconst securityRequirements = computed(() =>\n getSecurityRequirements(document?.security),\n)\n\n/** Grab the selected security for the document from the auth store */\nconst documentSelectedSecurity = computed(() =>\n authStore.getAuthSelectedSchemas({\n type: 'document',\n documentName: document?.['x-scalar-navigation']?.name ?? '',\n }),\n)\n\n/** The selected security keys for the document */\nconst selectedSecurity = computed(() =>\n getSelectedSecurity(\n documentSelectedSecurity.value,\n undefined,\n securityRequirements.value,\n ),\n)\n\n// We set the initial security on the document to the default if it doesn't exist\nwatch(\n documentSelectedSecurity,\n (newDocumentSelectedSecurity) => {\n if (typeof newDocumentSelectedSecurity !== 'undefined') {\n return\n }\n\n const defaultSecurity = getDefaultSecurity(\n securityRequirements.value,\n options.authentication?.preferredSecurityScheme,\n securitySchemes,\n )\n if (!defaultSecurity) {\n return\n }\n\n eventBus.emit('auth:update:selected-security-schemes', {\n selectedRequirements: [defaultSecurity],\n newSchemes: [],\n meta: { type: 'document' },\n })\n },\n { immediate: true },\n)\n</script>\n<template>\n <AuthSelector\n v-if=\"Object.keys(securitySchemes).length\"\n :createAnySecurityScheme=\"\n options.authentication?.createAnySecurityScheme ?? false\n \"\n :environment\n :eventBus\n isStatic\n layout=\"reference\"\n :meta=\"{ type: 'document' }\"\n :persistAuth=\"options.persistAuth\"\n :proxyUrl=\"options.proxyUrl ?? ''\"\n :securityRequirements\n :securitySchemes\n :selectedSecurity\n :server=\"selectedServer\"\n title=\"Authentication\" />\n</template>\n"],"mappings":""}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { getDefaultSecurity } from "./helpers/get-default-security.js";
|
|
2
|
+
import { computed, createBlock, createCommentVNode, defineComponent, openBlock, unref, watch } from "vue";
|
|
3
|
+
import { AuthSelector } from "@scalar/api-client/v2/blocks/scalar-auth-selector-block";
|
|
4
|
+
import { getSecurityRequirements, getSelectedSecurity } from "@scalar/api-client/v2/features/operation";
|
|
5
|
+
//#region src/components/Content/Auth/Auth.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var Auth_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
7
|
+
__name: "Auth",
|
|
8
|
+
props: {
|
|
9
|
+
options: {},
|
|
10
|
+
authStore: {},
|
|
11
|
+
document: {},
|
|
12
|
+
eventBus: {},
|
|
13
|
+
securitySchemes: {},
|
|
14
|
+
selectedServer: {},
|
|
15
|
+
environment: {}
|
|
16
|
+
},
|
|
17
|
+
setup(__props) {
|
|
18
|
+
/** Compute what the security requirements should be for the document */
|
|
19
|
+
const securityRequirements = computed(() => getSecurityRequirements(__props.document?.security));
|
|
20
|
+
/** Grab the selected security for the document from the auth store */
|
|
21
|
+
const documentSelectedSecurity = computed(() => __props.authStore.getAuthSelectedSchemas({
|
|
22
|
+
type: "document",
|
|
23
|
+
documentName: __props.document?.["x-scalar-navigation"]?.name ?? ""
|
|
24
|
+
}));
|
|
25
|
+
/** The selected security keys for the document */
|
|
26
|
+
const selectedSecurity = computed(() => getSelectedSecurity(documentSelectedSecurity.value, void 0, securityRequirements.value));
|
|
27
|
+
watch(documentSelectedSecurity, (newDocumentSelectedSecurity) => {
|
|
28
|
+
if (typeof newDocumentSelectedSecurity !== "undefined") return;
|
|
29
|
+
const defaultSecurity = getDefaultSecurity(securityRequirements.value, __props.options.authentication?.preferredSecurityScheme, __props.securitySchemes);
|
|
30
|
+
if (!defaultSecurity) return;
|
|
31
|
+
__props.eventBus.emit("auth:update:selected-security-schemes", {
|
|
32
|
+
selectedRequirements: [defaultSecurity],
|
|
33
|
+
newSchemes: [],
|
|
34
|
+
meta: { type: "document" }
|
|
35
|
+
});
|
|
36
|
+
}, { immediate: true });
|
|
37
|
+
return (_ctx, _cache) => {
|
|
38
|
+
return Object.keys(__props.securitySchemes).length ? (openBlock(), createBlock(unref(AuthSelector), {
|
|
39
|
+
key: 0,
|
|
40
|
+
createAnySecurityScheme: __props.options.authentication?.createAnySecurityScheme ?? false,
|
|
41
|
+
environment: __props.environment,
|
|
42
|
+
eventBus: __props.eventBus,
|
|
43
|
+
isStatic: "",
|
|
44
|
+
layout: "reference",
|
|
45
|
+
meta: { type: "document" },
|
|
46
|
+
persistAuth: __props.options.persistAuth,
|
|
47
|
+
proxyUrl: __props.options.proxyUrl ?? "",
|
|
48
|
+
securityRequirements: securityRequirements.value,
|
|
49
|
+
securitySchemes: __props.securitySchemes,
|
|
50
|
+
selectedSecurity: selectedSecurity.value,
|
|
51
|
+
server: __props.selectedServer,
|
|
52
|
+
title: "Authentication"
|
|
53
|
+
}, null, 8, [
|
|
54
|
+
"createAnySecurityScheme",
|
|
55
|
+
"environment",
|
|
56
|
+
"eventBus",
|
|
57
|
+
"persistAuth",
|
|
58
|
+
"proxyUrl",
|
|
59
|
+
"securityRequirements",
|
|
60
|
+
"securitySchemes",
|
|
61
|
+
"selectedSecurity",
|
|
62
|
+
"server"
|
|
63
|
+
])) : createCommentVNode("", true);
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
//#endregion
|
|
68
|
+
export { Auth_vue_vue_type_script_setup_true_lang_default as default };
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=Auth.vue.script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Auth.vue.script.js","names":[],"sources":["../../../../src/components/Content/Auth/Auth.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n AuthSelector,\n type MergedSecuritySchemes,\n} from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\nimport {\n getSecurityRequirements,\n getSelectedSecurity,\n} from '@scalar/api-client/v2/features/operation'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\nimport type { XScalarEnvironment } from '@scalar/workspace-store/schemas/extensions/document/x-scalar-environments'\nimport type { ServerObject } from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\nimport type { WorkspaceDocument } from '@scalar/workspace-store/schemas/workspace'\nimport { computed, watch } from 'vue'\n\nimport { getDefaultSecurity } from '@/components/Content/Auth/helpers/get-default-security'\n\nconst { document, environment, eventBus, options, securitySchemes, authStore } =\n defineProps<{\n options: Pick<\n ApiReferenceConfigurationRaw,\n 'authentication' | 'persistAuth' | 'proxyUrl'\n >\n authStore: AuthStore\n document: WorkspaceDocument | undefined\n eventBus: WorkspaceEventBus\n securitySchemes: MergedSecuritySchemes\n selectedServer: ServerObject | null\n environment: XScalarEnvironment\n }>()\n\n/** Compute what the security requirements should be for the document */\nconst securityRequirements = computed(() =>\n getSecurityRequirements(document?.security),\n)\n\n/** Grab the selected security for the document from the auth store */\nconst documentSelectedSecurity = computed(() =>\n authStore.getAuthSelectedSchemas({\n type: 'document',\n documentName: document?.['x-scalar-navigation']?.name ?? '',\n }),\n)\n\n/** The selected security keys for the document */\nconst selectedSecurity = computed(() =>\n getSelectedSecurity(\n documentSelectedSecurity.value,\n undefined,\n securityRequirements.value,\n ),\n)\n\n// We set the initial security on the document to the default if it doesn't exist\nwatch(\n documentSelectedSecurity,\n (newDocumentSelectedSecurity) => {\n if (typeof newDocumentSelectedSecurity !== 'undefined') {\n return\n }\n\n const defaultSecurity = getDefaultSecurity(\n securityRequirements.value,\n options.authentication?.preferredSecurityScheme,\n securitySchemes,\n )\n if (!defaultSecurity) {\n return\n }\n\n eventBus.emit('auth:update:selected-security-schemes', {\n selectedRequirements: [defaultSecurity],\n newSchemes: [],\n meta: { type: 'document' },\n })\n },\n { immediate: true },\n)\n</script>\n<template>\n <AuthSelector\n v-if=\"Object.keys(securitySchemes).length\"\n :createAnySecurityScheme=\"\n options.authentication?.createAnySecurityScheme ?? false\n \"\n :environment\n :eventBus\n isStatic\n layout=\"reference\"\n :meta=\"{ type: 'document' }\"\n :persistAuth=\"options.persistAuth\"\n :proxyUrl=\"options.proxyUrl ?? ''\"\n :securityRequirements\n :securitySchemes\n :selectedSecurity\n :server=\"selectedServer\"\n title=\"Authentication\" />\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;EAkCA,MAAM,uBAAuB,eAC3B,wBAAwB,QAAA,UAAU,SAAS,CAC7C;;EAGA,MAAM,2BAA2B,eAC/B,QAAA,UAAU,uBAAuB;GAC/B,MAAM;GACN,cAAc,QAAA,WAAW,wBAAwB,QAAQ;GAC1D,CAAC,CACJ;;EAGA,MAAM,mBAAmB,eACvB,oBACE,yBAAyB,OACzB,KAAA,GACA,qBAAqB,MACtB,CACH;AAGA,QACE,2BACC,gCAAgC;AAC/B,OAAI,OAAO,gCAAgC,YACzC;GAGF,MAAM,kBAAkB,mBACtB,qBAAqB,OACrB,QAAA,QAAQ,gBAAgB,yBACxB,QAAA,gBACF;AACA,OAAI,CAAC,gBACH;AAGF,WAAA,SAAS,KAAK,yCAAyC;IACrD,sBAAsB,CAAC,gBAAgB;IACvC,YAAY,EAAE;IACd,MAAM,EAAE,MAAM,YAAY;IAC3B,CAAA;KAEH,EAAE,WAAW,MAAM,CACrB;;UAIU,OAAO,KAAK,QAAA,gBAAe,CAAE,UAAA,WAAA,EADrC,YAgB2B,MAAA,aAAA,EAAA;;IAdxB,yBAAgC,QAAA,QAAQ,gBAAgB,2BAAuB;IAG/E,aAAA,QAAA;IACA,UAAA,QAAA;IACD,UAAA;IACA,QAAO;IACN,MAAM,EAAA,MAAA,YAAoB;IAC1B,aAAa,QAAA,QAAQ;IACrB,UAAU,QAAA,QAAQ,YAAQ;IAC1B,sBAAA,qBAAA;IACA,iBAAA,QAAA;IACA,kBAAA,iBAAA;IACA,QAAQ,QAAA;IACT,OAAM"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { getResolvedRef } from "@scalar/workspace-store/helpers/get-resolved-ref";
|
|
2
|
+
import { unpackProxyObject } from "@scalar/workspace-store/helpers/unpack-proxy";
|
|
3
|
+
//#region src/components/Content/Auth/helpers/get-default-security.ts
|
|
4
|
+
/**
|
|
5
|
+
* Extracts the default scopes for a security scheme.
|
|
6
|
+
* Only OAuth2 schemes can have default scopes via the x-default-scopes extension.
|
|
7
|
+
*/
|
|
8
|
+
var getDefaultScopes = (scheme) => {
|
|
9
|
+
if (!scheme || scheme.type !== "oauth2") return [];
|
|
10
|
+
return scheme["x-default-scopes"] ?? [];
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Hydrates an existing security requirement with configured default scopes.
|
|
14
|
+
* Explicit scopes from the OpenAPI requirement take precedence over x-default-scopes.
|
|
15
|
+
*/
|
|
16
|
+
var hydrateSecurityRequirement = (requirement, securitySchemes) => {
|
|
17
|
+
const hydratedRequirement = {};
|
|
18
|
+
for (const [schemeName, scopes] of Object.entries(unpackProxyObject(requirement, { depth: 1 }) ?? requirement)) {
|
|
19
|
+
if (Array.isArray(scopes) && scopes.length > 0) {
|
|
20
|
+
hydratedRequirement[schemeName] = scopes;
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
hydratedRequirement[schemeName] = getDefaultScopes(getResolvedRef(securitySchemes[schemeName]));
|
|
24
|
+
}
|
|
25
|
+
return hydratedRequirement;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Processes a single scheme name and adds it to the accumulator with its default scopes.
|
|
29
|
+
*/
|
|
30
|
+
var addSchemeToRequirement = (acc, schemeName, securitySchemes) => {
|
|
31
|
+
acc[schemeName] = getDefaultScopes(getResolvedRef(securitySchemes[schemeName]));
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Converts the preferred security scheme configuration into a SecurityRequirementObject.
|
|
35
|
+
* Handles both flat arrays and nested arrays (for complex auth scenarios).
|
|
36
|
+
*/
|
|
37
|
+
var buildSecurityRequirementFromPreferred = (preferredSecurityScheme, securitySchemes) => {
|
|
38
|
+
if (!Array.isArray(preferredSecurityScheme)) {
|
|
39
|
+
const scheme = getResolvedRef(securitySchemes[preferredSecurityScheme]);
|
|
40
|
+
return { [preferredSecurityScheme]: getDefaultScopes(scheme) };
|
|
41
|
+
}
|
|
42
|
+
const requirement = {};
|
|
43
|
+
for (const item of preferredSecurityScheme) if (Array.isArray(item)) for (const schemeName of item) addSchemeToRequirement(requirement, schemeName, securitySchemes);
|
|
44
|
+
else addSchemeToRequirement(requirement, item, securitySchemes);
|
|
45
|
+
return requirement;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Determines the default security scheme to use for an operation.
|
|
49
|
+
*
|
|
50
|
+
* Priority order:
|
|
51
|
+
* 1. User-configured preferred security scheme (if provided)
|
|
52
|
+
* 2. First security requirement from the OpenAPI spec
|
|
53
|
+
* 3. null (no security required)
|
|
54
|
+
*/
|
|
55
|
+
var getDefaultSecurity = (securityRequirements, preferredSecurityScheme, securitySchemes) => {
|
|
56
|
+
if (preferredSecurityScheme) return buildSecurityRequirementFromPreferred(preferredSecurityScheme, securitySchemes);
|
|
57
|
+
const firstRequirement = securityRequirements[0];
|
|
58
|
+
if (firstRequirement) return hydrateSecurityRequirement(firstRequirement, securitySchemes);
|
|
59
|
+
return null;
|
|
60
|
+
};
|
|
61
|
+
//#endregion
|
|
62
|
+
export { getDefaultSecurity };
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=get-default-security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-default-security.js","names":[],"sources":["../../../../../src/components/Content/Auth/helpers/get-default-security.ts"],"sourcesContent":["import type { MergedSecuritySchemes } from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\nimport type { AuthenticationConfiguration } from '@scalar/types/api-reference'\nimport { getResolvedRef } from '@scalar/workspace-store/helpers/get-resolved-ref'\nimport { unpackProxyObject } from '@scalar/workspace-store/helpers/unpack-proxy'\nimport type {\n SecurityRequirementObject,\n SecuritySchemeObject,\n} from '@scalar/workspace-store/schemas/v3.1/strict/openapi-document'\n\n/**\n * Extracts the default scopes for a security scheme.\n * Only OAuth2 schemes can have default scopes via the x-default-scopes extension.\n */\nexport const getDefaultScopes = (scheme: SecuritySchemeObject | undefined): string[] => {\n if (!scheme || scheme.type !== 'oauth2') {\n return []\n }\n\n return scheme['x-default-scopes'] ?? []\n}\n\n/**\n * Hydrates an existing security requirement with configured default scopes.\n * Explicit scopes from the OpenAPI requirement take precedence over x-default-scopes.\n */\nconst hydrateSecurityRequirement = (\n requirement: SecurityRequirementObject,\n securitySchemes: MergedSecuritySchemes,\n): SecurityRequirementObject => {\n const hydratedRequirement: SecurityRequirementObject = {}\n\n for (const [schemeName, scopes] of Object.entries(unpackProxyObject(requirement, { depth: 1 }) ?? requirement)) {\n if (Array.isArray(scopes) && scopes.length > 0) {\n hydratedRequirement[schemeName] = scopes\n continue\n }\n\n const scheme = getResolvedRef(securitySchemes[schemeName])\n hydratedRequirement[schemeName] = getDefaultScopes(scheme)\n }\n\n return hydratedRequirement\n}\n\n/**\n * Processes a single scheme name and adds it to the accumulator with its default scopes.\n */\nconst addSchemeToRequirement = (\n acc: SecurityRequirementObject,\n schemeName: string,\n securitySchemes: MergedSecuritySchemes,\n): void => {\n const scheme = getResolvedRef(securitySchemes[schemeName])\n acc[schemeName] = getDefaultScopes(scheme)\n}\n\n/**\n * Converts the preferred security scheme configuration into a SecurityRequirementObject.\n * Handles both flat arrays and nested arrays (for complex auth scenarios).\n */\nconst buildSecurityRequirementFromPreferred = (\n preferredSecurityScheme: string | (string | string[])[],\n securitySchemes: MergedSecuritySchemes,\n): SecurityRequirementObject => {\n if (!Array.isArray(preferredSecurityScheme)) {\n const scheme = getResolvedRef(securitySchemes[preferredSecurityScheme])\n return { [preferredSecurityScheme]: getDefaultScopes(scheme) }\n }\n\n const requirement: SecurityRequirementObject = {}\n\n for (const item of preferredSecurityScheme) {\n if (Array.isArray(item)) {\n // Handle nested arrays for complex auth (e.g., [['oauth2', 'apiKey'], 'basic'])\n for (const schemeName of item) {\n addSchemeToRequirement(requirement, schemeName, securitySchemes)\n }\n } else {\n addSchemeToRequirement(requirement, item, securitySchemes)\n }\n }\n\n return requirement\n}\n\n/**\n * Determines the default security scheme to use for an operation.\n *\n * Priority order:\n * 1. User-configured preferred security scheme (if provided)\n * 2. First security requirement from the OpenAPI spec\n * 3. null (no security required)\n */\nexport const getDefaultSecurity = (\n securityRequirements: SecurityRequirementObject[],\n preferredSecurityScheme: AuthenticationConfiguration['preferredSecurityScheme'],\n securitySchemes: MergedSecuritySchemes,\n): SecurityRequirementObject | null => {\n if (preferredSecurityScheme) {\n return buildSecurityRequirementFromPreferred(preferredSecurityScheme, securitySchemes)\n }\n\n const firstRequirement = securityRequirements[0]\n if (firstRequirement) {\n return hydrateSecurityRequirement(firstRequirement, securitySchemes)\n }\n\n return null\n}\n"],"mappings":";;;;;;;AAaA,IAAa,oBAAoB,WAAuD;AACtF,KAAI,CAAC,UAAU,OAAO,SAAS,SAC7B,QAAO,EAAE;AAGX,QAAO,OAAO,uBAAuB,EAAE;;;;;;AAOzC,IAAM,8BACJ,aACA,oBAC8B;CAC9B,MAAM,sBAAiD,EAAE;AAEzD,MAAK,MAAM,CAAC,YAAY,WAAW,OAAO,QAAQ,kBAAkB,aAAa,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,EAAE;AAC9G,MAAI,MAAM,QAAQ,OAAO,IAAI,OAAO,SAAS,GAAG;AAC9C,uBAAoB,cAAc;AAClC;;AAIF,sBAAoB,cAAc,iBADnB,eAAe,gBAAgB,YAAY,CACA;;AAG5D,QAAO;;;;;AAMT,IAAM,0BACJ,KACA,YACA,oBACS;AAET,KAAI,cAAc,iBADH,eAAe,gBAAgB,YAAY,CAChB;;;;;;AAO5C,IAAM,yCACJ,yBACA,oBAC8B;AAC9B,KAAI,CAAC,MAAM,QAAQ,wBAAwB,EAAE;EAC3C,MAAM,SAAS,eAAe,gBAAgB,yBAAyB;AACvE,SAAO,GAAG,0BAA0B,iBAAiB,OAAO,EAAE;;CAGhE,MAAM,cAAyC,EAAE;AAEjD,MAAK,MAAM,QAAQ,wBACjB,KAAI,MAAM,QAAQ,KAAK,CAErB,MAAK,MAAM,cAAc,KACvB,wBAAuB,aAAa,YAAY,gBAAgB;KAGlE,wBAAuB,aAAa,MAAM,gBAAgB;AAI9D,QAAO;;;;;;;;;;AAWT,IAAa,sBACX,sBACA,yBACA,oBACqC;AACrC,KAAI,wBACF,QAAO,sCAAsC,yBAAyB,gBAAgB;CAGxF,MAAM,mBAAmB,qBAAqB;AAC9C,KAAI,iBACF,QAAO,2BAA2B,kBAAkB,gBAAgB;AAGtE,QAAO"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default as Auth } from './Auth.vue';
|
|
1
|
+
export { default as Auth } from './Auth.vue.js';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import Content_vue_vue_type_script_setup_true_lang_default from "./Content.vue.script.js";
|
|
2
|
+
/* empty css */
|
|
3
|
+
//#region src/components/Content/Content.vue
|
|
4
|
+
var Content_default = Content_vue_vue_type_script_setup_true_lang_default;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { Content_default as default };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=Content.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Content.vue.js","names":[],"sources":["../../../src/components/Content/Content.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { generateClientOptions } from '@scalar/api-client/v2/blocks/operation-code-sample'\nimport { mergeSecurity } from '@scalar/api-client/v2/blocks/scalar-auth-selector-block'\nimport { mapHiddenClientsConfig } from '@scalar/api-client/v2/features/modal'\nimport { getSelectedServer } from '@scalar/api-client/v2/features/operation'\nimport { getServers } from '@scalar/api-client/v2/helpers'\nimport { ScalarErrorBoundary } from '@scalar/components'\nimport type { ApiReferenceConfigurationRaw } from '@scalar/types/api-reference'\nimport type { Heading } from '@scalar/types/legacy'\nimport type { AuthStore } from '@scalar/workspace-store/entities/auth'\nimport type { WorkspaceEventBus } from '@scalar/workspace-store/events'\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 type {\n Workspace,\n WorkspaceDocument,\n} from '@scalar/workspace-store/schemas/workspace'\nimport { computed, onMounted } from 'vue'\n\nimport { ClientSelector } from '@/blocks/scalar-client-selector-block'\nimport { InfoBlock } from '@/blocks/scalar-info-block'\nimport { IntroductionCardItem } from '@/blocks/scalar-info-block/'\nimport { ServerSelector } from '@/blocks/scalar-server-selector-block'\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 { document, items, environment, eventBus, options, authStore } =\n defineProps<{\n infoSectionId: 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 | 'orderRequiredPropertiesFirst'\n | 'orderSchemaPropertiesBy'\n | 'persistAuth'\n | 'proxyUrl'\n | 'servers'\n | 'showOperationId'\n >\n document: WorkspaceDocument | undefined\n authStore: AuthStore\n xScalarDefaultClient: Workspace['x-scalar-default-client']\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/** 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 ?? document?.servers, {\n baseServerUrl: options?.baseServerURL,\n documentUrl: document?.['x-scalar-original-source-url'],\n }),\n)\n\n/** Compute the selected server for the document only (for now) */\nconst selectedServer = computed(() =>\n getSelectedServer(servers.value, document?.['x-scalar-selected-server']),\n)\n\n/** Merge authentication config with the document security schemes */\nconst securitySchemes = computed(() =>\n mergeSecurity(\n document?.components?.securitySchemes,\n options.authentication?.securitySchemes,\n authStore,\n document?.['x-scalar-navigation']?.name ?? '',\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 <!-- Introduction -->\n\n <InfoBlock\n :id=\"infoSectionId\"\n :documentDownloadType=\"options.documentDownloadType\"\n :documentExtensions\n :documentUrl=\"document?.['x-scalar-original-source-url']\"\n :eventBus\n :externalDocs=\"document?.externalDocs\"\n :headingSlugGenerator\n :info=\"document?.info\"\n :infoExtensions\n :layout=\"options.layout\"\n :oasVersion=\"document?.['x-original-oas-version']\">\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 <!-- 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\n :environment\n :eventBus\n :options\n :securitySchemes\n :selectedServer />\n </IntroductionCardItem>\n </ScalarErrorBoundary>\n\n <!-- Client selector -->\n <ScalarErrorBoundary>\n <IntroductionCardItem\n v-if=\"clientOptions.length\"\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 :xScalarSdkInstallation=\"\n document?.info?.['x-scalar-sdk-installation']\n \" />\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 && document\"\n :authStore\n :clientOptions\n :document\n :entries=\"items\"\n :eventBus\n :expandedItems\n :options\n :securitySchemes\n :selectedClient=\"xScalarDefaultClient\"\n :selectedServer>\n </TraversedEntry>\n\n <!-- Render plugins at content.end view -->\n <RenderPlugins\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":""}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import ClientSelector_default from "../../blocks/scalar-client-selector-block/components/ClientSelector.vue.js";
|
|
2
|
+
import { getXKeysFromObject } from "../../features/specification-extension/helpers.js";
|
|
3
|
+
import InfoBlock_default from "../../blocks/scalar-info-block/components/InfoBlock.vue.js";
|
|
4
|
+
import IntroductionCardItem_default from "../../blocks/scalar-info-block/components/IntroductionCardItem.vue.js";
|
|
5
|
+
import ServerSelector_default from "../../blocks/scalar-server-selector-block/components/ServerSelector.vue.js";
|
|
6
|
+
import Auth_default from "./Auth/Auth.vue.js";
|
|
7
|
+
import { firstLazyLoadComplete, scheduleInitialLoadComplete } from "../../helpers/lazy-bus.js";
|
|
8
|
+
import TraversedEntry_default from "./Operations/TraversedEntry.vue.js";
|
|
9
|
+
import RenderPlugins_default from "../RenderPlugins/RenderPlugins.vue.js";
|
|
10
|
+
import SectionFlare_default from "../SectionFlare/SectionFlare.vue.js";
|
|
11
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, onMounted, openBlock, renderSlot, unref, withCtx } from "vue";
|
|
12
|
+
import { mapHiddenClientsConfig } from "@scalar/api-client/v2/features/modal";
|
|
13
|
+
import { getServers } from "@scalar/api-client/v2/helpers";
|
|
14
|
+
import { ScalarErrorBoundary } from "@scalar/components";
|
|
15
|
+
import { generateClientOptions } from "@scalar/api-client/v2/blocks/operation-code-sample";
|
|
16
|
+
import { mergeSecurity } from "@scalar/api-client/v2/blocks/scalar-auth-selector-block";
|
|
17
|
+
import { getSelectedServer } from "@scalar/api-client/v2/features/operation";
|
|
18
|
+
//#region src/components/Content/Content.vue?vue&type=script&setup=true&lang.ts
|
|
19
|
+
var _hoisted_1 = { class: "narrow-references-container" };
|
|
20
|
+
var _hoisted_2 = {
|
|
21
|
+
key: 1,
|
|
22
|
+
class: "h-dvh"
|
|
23
|
+
};
|
|
24
|
+
var Content_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
|
|
25
|
+
__name: "Content",
|
|
26
|
+
props: {
|
|
27
|
+
infoSectionId: {},
|
|
28
|
+
options: {},
|
|
29
|
+
document: {},
|
|
30
|
+
authStore: {},
|
|
31
|
+
xScalarDefaultClient: {},
|
|
32
|
+
items: {},
|
|
33
|
+
expandedItems: {},
|
|
34
|
+
eventBus: {},
|
|
35
|
+
environment: {},
|
|
36
|
+
headingSlugGenerator: { type: Function }
|
|
37
|
+
},
|
|
38
|
+
setup(__props) {
|
|
39
|
+
/** Generate all client options so that it can be shared between the top client picker and the operations */
|
|
40
|
+
const clientOptions = computed(() => generateClientOptions(mapHiddenClientsConfig(__props.options.hiddenClients)));
|
|
41
|
+
/** Computed property to get all OpenAPI extension fields from the root document object */
|
|
42
|
+
const documentExtensions = computed(() => getXKeysFromObject(__props.document));
|
|
43
|
+
/** Computed property to get all OpenAPI extension fields from the document's info object */
|
|
44
|
+
const infoExtensions = computed(() => getXKeysFromObject(__props.document?.info));
|
|
45
|
+
/** Compute the servers for the document */
|
|
46
|
+
const servers = computed(() => getServers(__props.options?.servers ?? __props.document?.servers, {
|
|
47
|
+
baseServerUrl: __props.options?.baseServerURL,
|
|
48
|
+
documentUrl: __props.document?.["x-scalar-original-source-url"]
|
|
49
|
+
}));
|
|
50
|
+
/** Compute the selected server for the document only (for now) */
|
|
51
|
+
const selectedServer = computed(() => getSelectedServer(servers.value, __props.document?.["x-scalar-selected-server"]));
|
|
52
|
+
/** Merge authentication config with the document security schemes */
|
|
53
|
+
const securitySchemes = computed(() => mergeSecurity(__props.document?.components?.securitySchemes, __props.options.authentication?.securitySchemes, __props.authStore, __props.document?.["x-scalar-navigation"]?.name ?? ""));
|
|
54
|
+
/** Ensures firstLazyLoadComplete is set for documents with no Lazy sections (e.g. no operations/tags/models). */
|
|
55
|
+
onMounted(() => {
|
|
56
|
+
scheduleInitialLoadComplete();
|
|
57
|
+
});
|
|
58
|
+
return (_ctx, _cache) => {
|
|
59
|
+
return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(SectionFlare_default)), createElementVNode("div", _hoisted_1, [
|
|
60
|
+
renderSlot(_ctx.$slots, "start"),
|
|
61
|
+
createVNode(unref(InfoBlock_default), {
|
|
62
|
+
id: __props.infoSectionId,
|
|
63
|
+
documentDownloadType: __props.options.documentDownloadType,
|
|
64
|
+
documentExtensions: documentExtensions.value,
|
|
65
|
+
documentUrl: __props.document?.["x-scalar-original-source-url"],
|
|
66
|
+
eventBus: __props.eventBus,
|
|
67
|
+
externalDocs: __props.document?.externalDocs,
|
|
68
|
+
headingSlugGenerator: __props.headingSlugGenerator,
|
|
69
|
+
info: __props.document?.info,
|
|
70
|
+
infoExtensions: infoExtensions.value,
|
|
71
|
+
layout: __props.options.layout,
|
|
72
|
+
oasVersion: __props.document?.["x-original-oas-version"]
|
|
73
|
+
}, {
|
|
74
|
+
selectors: withCtx(() => [
|
|
75
|
+
createVNode(unref(ScalarErrorBoundary), null, {
|
|
76
|
+
default: withCtx(() => [servers.value?.length ? (openBlock(), createBlock(unref(IntroductionCardItem_default), {
|
|
77
|
+
key: 0,
|
|
78
|
+
class: "scalar-reference-intro-server scalar-client introduction-card-item text-base leading-normal [--scalar-address-bar-height:0px]"
|
|
79
|
+
}, {
|
|
80
|
+
default: withCtx(() => [createVNode(unref(ServerSelector_default), {
|
|
81
|
+
eventBus: __props.eventBus,
|
|
82
|
+
selectedServer: selectedServer.value,
|
|
83
|
+
servers: servers.value
|
|
84
|
+
}, null, 8, [
|
|
85
|
+
"eventBus",
|
|
86
|
+
"selectedServer",
|
|
87
|
+
"servers"
|
|
88
|
+
])]),
|
|
89
|
+
_: 1
|
|
90
|
+
})) : createCommentVNode("", true)]),
|
|
91
|
+
_: 1
|
|
92
|
+
}),
|
|
93
|
+
createVNode(unref(ScalarErrorBoundary), null, {
|
|
94
|
+
default: withCtx(() => [__props.document && !__props.options.hideTestRequestButton ? (openBlock(), createBlock(unref(IntroductionCardItem_default), {
|
|
95
|
+
key: 0,
|
|
96
|
+
class: "scalar-reference-intro-auth scalar-client introduction-card-item leading-normal"
|
|
97
|
+
}, {
|
|
98
|
+
default: withCtx(() => [createVNode(unref(Auth_default), {
|
|
99
|
+
authStore: __props.authStore,
|
|
100
|
+
document: __props.document,
|
|
101
|
+
environment: __props.environment,
|
|
102
|
+
eventBus: __props.eventBus,
|
|
103
|
+
options: __props.options,
|
|
104
|
+
securitySchemes: securitySchemes.value,
|
|
105
|
+
selectedServer: selectedServer.value
|
|
106
|
+
}, null, 8, [
|
|
107
|
+
"authStore",
|
|
108
|
+
"document",
|
|
109
|
+
"environment",
|
|
110
|
+
"eventBus",
|
|
111
|
+
"options",
|
|
112
|
+
"securitySchemes",
|
|
113
|
+
"selectedServer"
|
|
114
|
+
])]),
|
|
115
|
+
_: 1
|
|
116
|
+
})) : createCommentVNode("", true)]),
|
|
117
|
+
_: 1
|
|
118
|
+
}),
|
|
119
|
+
createVNode(unref(ScalarErrorBoundary), null, {
|
|
120
|
+
default: withCtx(() => [clientOptions.value.length ? (openBlock(), createBlock(unref(IntroductionCardItem_default), {
|
|
121
|
+
key: 0,
|
|
122
|
+
class: "introduction-card-item scalar-reference-intro-clients"
|
|
123
|
+
}, {
|
|
124
|
+
default: withCtx(() => [createVNode(unref(ClientSelector_default), {
|
|
125
|
+
class: "introduction-card-item scalar-reference-intro-clients",
|
|
126
|
+
clientOptions: clientOptions.value,
|
|
127
|
+
eventBus: __props.eventBus,
|
|
128
|
+
selectedClient: __props.xScalarDefaultClient,
|
|
129
|
+
xScalarSdkInstallation: __props.document?.info?.["x-scalar-sdk-installation"]
|
|
130
|
+
}, null, 8, [
|
|
131
|
+
"clientOptions",
|
|
132
|
+
"eventBus",
|
|
133
|
+
"selectedClient",
|
|
134
|
+
"xScalarSdkInstallation"
|
|
135
|
+
])]),
|
|
136
|
+
_: 1
|
|
137
|
+
})) : createCommentVNode("", true)]),
|
|
138
|
+
_: 1
|
|
139
|
+
})
|
|
140
|
+
]),
|
|
141
|
+
_: 1
|
|
142
|
+
}, 8, [
|
|
143
|
+
"id",
|
|
144
|
+
"documentDownloadType",
|
|
145
|
+
"documentExtensions",
|
|
146
|
+
"documentUrl",
|
|
147
|
+
"eventBus",
|
|
148
|
+
"externalDocs",
|
|
149
|
+
"headingSlugGenerator",
|
|
150
|
+
"info",
|
|
151
|
+
"infoExtensions",
|
|
152
|
+
"layout",
|
|
153
|
+
"oasVersion"
|
|
154
|
+
]),
|
|
155
|
+
__props.items.length && __props.document ? (openBlock(), createBlock(TraversedEntry_default, {
|
|
156
|
+
key: 0,
|
|
157
|
+
authStore: __props.authStore,
|
|
158
|
+
clientOptions: clientOptions.value,
|
|
159
|
+
document: __props.document,
|
|
160
|
+
entries: __props.items,
|
|
161
|
+
eventBus: __props.eventBus,
|
|
162
|
+
expandedItems: __props.expandedItems,
|
|
163
|
+
options: __props.options,
|
|
164
|
+
securitySchemes: securitySchemes.value,
|
|
165
|
+
selectedClient: __props.xScalarDefaultClient,
|
|
166
|
+
selectedServer: selectedServer.value
|
|
167
|
+
}, null, 8, [
|
|
168
|
+
"authStore",
|
|
169
|
+
"clientOptions",
|
|
170
|
+
"document",
|
|
171
|
+
"entries",
|
|
172
|
+
"eventBus",
|
|
173
|
+
"expandedItems",
|
|
174
|
+
"options",
|
|
175
|
+
"securitySchemes",
|
|
176
|
+
"selectedClient",
|
|
177
|
+
"selectedServer"
|
|
178
|
+
])) : createCommentVNode("", true),
|
|
179
|
+
createVNode(unref(RenderPlugins_default), {
|
|
180
|
+
options: __props.options,
|
|
181
|
+
viewName: "content.end"
|
|
182
|
+
}, null, 8, ["options"]),
|
|
183
|
+
renderSlot(_ctx.$slots, "end"),
|
|
184
|
+
!unref(firstLazyLoadComplete) ? (openBlock(), createElementBlock("div", _hoisted_2)) : createCommentVNode("", true)
|
|
185
|
+
])], 64);
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
//#endregion
|
|
190
|
+
export { Content_vue_vue_type_script_setup_true_lang_default as default };
|
|
191
|
+
|
|
192
|
+
//# sourceMappingURL=Content.vue.script.js.map
|