UNPKG

comic-plus

Version:

<p align="center"> <img width="200px" src="./logo.png"/> </p>

45 lines (44 loc) 1.12 kB
import { defineComponent, computed, provide, h } from "vue"; import "../style/menu.css"; import { menuProps, menuEmits } from "./main.props.mjs"; import { MENU_PROVIDE } from "./type.mjs"; const Menu = defineComponent({ name: "CuMenu", props: menuProps, emit: menuEmits, setup(props, { slots, emit }) { const menuClick = (name) => { emit("menu-click", name); emit("update:modelValue", name); }; const style = computed(() => { return { "--cu-menu-active-background": props.activeBackgroundColor, "--cu-menu-active-text": props.activeTextColor, backgroundColor: props.backgroundColor, color: props.textColor, "--cu-menu-base-height": props.size + "px" }; }); provide(MENU_PROVIDE, { props, menuClick, style }); return () => h( "ul", { class: [ "cu-menu", props.mode ? "is-" + props.mode : void 0, { "menu-collapse": props.mode === "vertical" && props.collapse } ], style: style.value }, slots ); } }); export { Menu };