UNPKG

@scalar/api-reference

Version:

Generate beautiful API references from OpenAPI documents

32 lines (31 loc) 1.69 kB
import { createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, openBlock, renderSlot, unref } from "vue"; import { ScalarIconLink } from "@scalar/icons"; //#region src/components/Anchor/WithBreadcrumb.vue?vue&type=script&setup=true&lang.ts var _hoisted_1 = ["id"]; var _hoisted_2 = { class: "sr-only" }; var WithBreadcrumb_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({ __name: "WithBreadcrumb", props: { breadcrumb: {}, eventBus: {} }, setup(__props) { return (_ctx, _cache) => { return __props.breadcrumb && __props.breadcrumb.length > 0 ? (openBlock(), createElementBlock("div", { key: 0, id: __props.breadcrumb.join("."), class: "relative scroll-mt-24" }, [renderSlot(_ctx.$slots, "default"), createElementVNode("button", { class: "text-c-3 hover:text-c-1 absolute -top-2 -left-4.5 flex h-[calc(100%+16px)] w-4.5 cursor-pointer items-center justify-center pr-1.5 opacity-0 group-hover:opacity-100 focus-visible:opacity-100", type: "button", onClick: _cache[0] || (_cache[0] = () => __props.eventBus?.emit("copy-url:nav-item", { id: __props.breadcrumb.join(".") })) }, [createVNode(unref(ScalarIconLink), { class: "size-3", weight: "bold" }), createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "sr-label", {}, () => [_cache[1] || (_cache[1] = createTextVNode("Copy link to ", -1)), renderSlot(_ctx.$slots, "default")])])])], 8, _hoisted_1)) : renderSlot(_ctx.$slots, "default", { key: 1 }); }; } }); //#endregion export { WithBreadcrumb_vue_vue_type_script_setup_true_lang_default as default }; //# sourceMappingURL=WithBreadcrumb.vue.script.js.map