UNPKG

@scalar/api-reference

Version:

Generate beautiful API references from OpenAPI documents

48 lines (47 loc) 1.71 kB
import { defineComponent, useTemplateRef, createElementBlock, createCommentVNode, openBlock, createBlock } from "vue"; import { useIntersection } from "../../../hooks/use-intersection.js"; import ClassicLayout from "./components/ClassicLayout.vue.js"; import _sfc_main$1 from "./components/ModernLayout.vue.js"; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "Model", props: { id: {}, name: {}, options: {}, schema: {}, isCollapsed: { type: Boolean }, eventBus: {} }, setup(__props) { const section = useTemplateRef("section"); useIntersection(section, () => __props.eventBus?.emit("intersecting:nav-item", { id: __props.id })); return (_ctx, _cache) => { return __props.schema ? (openBlock(), createElementBlock("div", { key: 0, ref_key: "section", ref: section }, [ __props.options.layout === "classic" ? (openBlock(), createBlock(ClassicLayout, { key: 0, id: __props.id, eventBus: __props.eventBus, isCollapsed: __props.isCollapsed, name: __props.name, options: __props.options, schema: __props.schema }, null, 8, ["id", "eventBus", "isCollapsed", "name", "options", "schema"])) : (openBlock(), createBlock(_sfc_main$1, { key: 1, id: __props.id, eventBus: __props.eventBus, isCollapsed: __props.isCollapsed, name: __props.name, options: __props.options, schema: __props.schema }, null, 8, ["id", "eventBus", "isCollapsed", "name", "options", "schema"])) ], 512)) : createCommentVNode("", true); }; } }); export { _sfc_main as default };