comic-plus
Version:
<p align="center"> <img width="200px" src="./logo.png"/> </p>
42 lines (41 loc) • 1.47 kB
JavaScript
import { defineComponent, inject, openBlock, createElementBlock, normalizeClass, createElementVNode, unref, createBlock, resolveDynamicComponent, createCommentVNode, renderSlot, warn } from "vue";
import { dropdownItemProps } from "./menu-item.props.mjs";
import { DROPDOWN_PROVIDE } from "./type.mjs";
import "../../../utils/config.mjs";
import { isVueComponent } from "../../../utils/typescript.mjs";
import "@vueuse/core";
const _sfc_main = /* @__PURE__ */ defineComponent({
...{
name: "CuDropdownItem"
},
__name: "menu-item",
props: dropdownItemProps,
setup(__props) {
const props = __props;
const { choose } = inject(DROPDOWN_PROVIDE);
function itemHandleClick() {
if (props.disabled) return;
if (!props.sign) {
warn("The current menu item does not have a sign attribute");
}
choose(props.sign);
}
return (_ctx, _cache) => {
return openBlock(), createElementBlock("li", {
class: normalizeClass(["cu-dropdown-item", { divider: _ctx.divider, disabled: _ctx.disabled }]),
onClick: itemHandleClick
}, [
createElementVNode("div", null, [
unref(isVueComponent)(_ctx.icon) ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.icon), {
key: 0,
class: "prefix-icon"
})) : createCommentVNode("", true),
renderSlot(_ctx.$slots, "default")
])
], 2);
};
}
});
export {
_sfc_main as default
};