@scalar/api-reference
Version:
Generate beautiful API references from OpenAPI documents
51 lines (50 loc) • 1.77 kB
JavaScript
import { defineComponent, useId, createElementBlock, createCommentVNode, openBlock, createElementVNode, unref, renderSlot, Fragment, renderList, createBlock } from "vue";
import ParameterListItem from "./ParameterListItem.vue.js";
const _hoisted_1 = {
key: 0,
class: "mt-6"
};
const _hoisted_2 = ["id"];
const _hoisted_3 = ["aria-labelledby"];
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "ParameterList",
props: {
parameters: {},
breadcrumb: {},
eventBus: {},
collapsableItems: { type: Boolean },
options: {}
},
setup(__props) {
const id = useId();
return (_ctx, _cache) => {
return __props.parameters?.length ? (openBlock(), createElementBlock("div", _hoisted_1, [
createElementVNode("div", {
id: unref(id),
class: "text-c-1 mt-3 mb-3 text-lg leading-[1.45] font-medium"
}, [
renderSlot(_ctx.$slots, "title")
], 8, _hoisted_2),
createElementVNode("ul", {
"aria-labelledby": unref(id),
class: "mb-3 list-none p-0 text-sm"
}, [
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.parameters, (item) => {
return openBlock(), createBlock(ParameterListItem, {
key: item.name,
breadcrumb: __props.breadcrumb,
collapsableItems: __props.collapsableItems,
eventBus: __props.eventBus,
name: item.name,
options: __props.options,
parameter: item
}, null, 8, ["breadcrumb", "collapsableItems", "eventBus", "name", "options", "parameter"]);
}), 128))
], 8, _hoisted_3)
])) : createCommentVNode("", true);
};
}
});
export {
_sfc_main as default
};