UNPKG

yuang-framework-ui-pc

Version:

yuang-framework-ui-pc Library

66 lines (65 loc) 2.61 kB
import { defineComponent, inject, resolveComponent, createElementBlock, openBlock, normalizeClass, renderSlot, Fragment, createElementVNode, createVNode, withCtx } from "vue"; import { ElIcon } from "element-plus"; import { CornerRightFilled, CornerLeftFilled } from "../icons"; import { TAB_WRAP_KEY } from "../ele-tabs/props"; import { tabToolProps } from "./props"; const _sfc_main = defineComponent({ name: "EleTabTool", components: { ElIcon, CornerLeftFilled, CornerRightFilled }, props: tabToolProps, setup(props) { const wrapProps = inject(TAB_WRAP_KEY, null); const handleItemClick = (e) => { if (wrapProps && wrapProps.triggerTabItemClick) { wrapProps.triggerTabItemClick(void 0, props.tabName, e); } }; const handleItemContextmenu = (e) => { if (wrapProps && wrapProps.triggerItemContextMenu) { wrapProps.triggerItemContextMenu(void 0, props.tabName, e); } }; return { handleItemClick, handleItemContextmenu }; } }); const _export_sfc = (sfc, props) => { const target = sfc.__vccOpts || sfc; for (const [key, val] of props) { target[key] = val; } return target; }; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { const _component_CornerLeftFilled = resolveComponent("CornerLeftFilled"); const _component_ElIcon = resolveComponent("ElIcon"); const _component_CornerRightFilled = resolveComponent("CornerRightFilled"); return openBlock(), createElementBlock("div", { class: normalizeClass(["ele-tab-tool", { "is-tab": _ctx.tab }, { "is-active": _ctx.active }]) }, [ _ctx.tab ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ createElementVNode("div", { class: "ele-tab-title", onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleItemClick && _ctx.handleItemClick(...args)), onContextmenu: _cache[1] || (_cache[1] = (...args) => _ctx.handleItemContextmenu && _ctx.handleItemContextmenu(...args)) }, [ renderSlot(_ctx.$slots, "default") ], 32), createVNode(_component_ElIcon, { class: "ele-tab-corner-left" }, { default: withCtx(() => [ createVNode(_component_CornerLeftFilled) ]), _: 1 }), createVNode(_component_ElIcon, { class: "ele-tab-corner-right" }, { default: withCtx(() => [ createVNode(_component_CornerRightFilled) ]), _: 1 }) ], 64)) : renderSlot(_ctx.$slots, "default", { key: 1 }) ], 2); } const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); export { index as default };