@antdv/pro-utils
Version:
@antdv/pro-utils
87 lines (86 loc) • 3.61 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var stdin_exports = {};
__export(stdin_exports, {
LabelIconTip: () => LabelIconTip,
labelIconTipProps: () => labelIconTipProps
});
module.exports = __toCommonJS(stdin_exports);
var import_vue = require("vue");
var import_icons_vue = require("@ant-design/icons-vue");
var import_ant_design_vue = require("ant-design-vue");
var import_context = require("ant-design-vue/es/config-provider/context");
var import_vue2 = require("vue");
var import_classNames = require("../../classNames");
var import_vueHelper = require("../../vueHelper");
var import_style = require("./style");
const labelIconTipProps = {
label: (0, import_vueHelper.vNodeType)(),
subTitle: (0, import_vueHelper.vNodeType)(),
tooltip: (0, import_vueHelper.oneOfType)([String, Object]),
ellipsis: (0, import_vueHelper.oneOfType)([Boolean, Object])
};
const LabelIconTip = (0, import_vue2.defineComponent)({
name: "LabelIconTip",
props: labelIconTipProps,
slots: Object,
setup(props, {
slots
}) {
const {
getPrefixCls
} = (0, import_context.useConfigContextInject)();
const proClassName = (0, import_vue2.computed)(() => getPrefixCls("pro-core-label-tip"));
const {
wrapSSR,
hashId
} = (0, import_style.useStyle)(proClassName);
return () => {
var _a, _b;
const {
label = (_a = slots.label) == null ? void 0 : _a.call(slots),
tooltip,
ellipsis,
subTitle = (_b = slots.subTitle) == null ? void 0 : _b.call(slots)
} = props;
if (!tooltip && !subTitle) {
return (0, import_vue.createVNode)(import_vue.Fragment, null, [props.label]);
}
const tooltipProps = typeof tooltip === "string" ? {
title: tooltip
} : tooltip;
const icon = (tooltipProps == null ? void 0 : tooltipProps.icon) || (0, import_vue.createVNode)(import_icons_vue.InfoCircleOutlined, null, null);
return wrapSSR((0, import_vue.createVNode)("div", {
"class": (0, import_classNames.classNames)(proClassName.value, hashId.value),
"onMousedown": (e) => e.stopPropagation(),
"onMouseleave": (e) => e.stopPropagation(),
"onMousemove": (e) => e.stopPropagation()
}, [(0, import_vue.createVNode)("div", {
"class": (0, import_classNames.classNames)(`${proClassName.value}-title`, hashId.value, {
[`${proClassName.value}-title-ellipsis`]: ellipsis
})
}, [label]), subTitle && (0, import_vue.createVNode)("div", {
"class": `${proClassName.value}-subtitle ${hashId.value}`.trim()
}, [subTitle]), tooltip && (0, import_vue.createVNode)(import_ant_design_vue.Tooltip, tooltipProps, {
default: () => [(0, import_vue.createVNode)("span", {
"class": `${proClassName.value}-icon ${hashId.value}`.trim()
}, [icon])]
})]));
};
}
});