tav-ui
Version:
60 lines (57 loc) • 1.88 kB
JavaScript
import { defineComponent, computed, createVNode, Fragment, unref } from 'vue';
import { InfoCircleOutlined } from '@ant-design/icons-vue';
import { Tooltip } from 'ant-design-vue';
import { getPopupContainer } from '../../../utils/basic2.mjs';
import { getSlot } from '../../../utils/helper/tsxHelper2.mjs';
import { isString, isArray } from '../../../utils/is2.mjs';
import { basicHelpProps } from './types2.mjs';
var BasicHelp = defineComponent({
name: "TaBasicHelp",
components: {
Tooltip
},
props: basicHelpProps,
setup(props, {
slots
}) {
const prefixCls = "ta-basic-help";
const getTooltipStyle = computed(() => ({
color: props.color,
fontSize: props.fontSize
}));
const getOverlayStyle = computed(() => ({
maxWidth: props.maxWidth
}));
function renderTitle() {
const textList = props.text;
if (isString(textList))
return createVNode("p", null, [textList]);
if (isArray(textList)) {
return textList.map((text, index) => {
return createVNode("p", {
"key": text
}, [createVNode(Fragment, null, [props.showIndex ? `${index + 1}. ` : "", text])]);
});
}
return null;
}
return () => {
return createVNode(Tooltip, {
"overlayClassName": `${prefixCls}__wrap`,
"title": createVNode("div", {
"style": unref(getTooltipStyle)
}, [renderTitle()]),
"autoAdjustOverflow": true,
"overlayStyle": unref(getOverlayStyle),
"placement": props.placement,
"getPopupContainer": () => getPopupContainer()
}, {
default: () => [createVNode("span", {
"class": prefixCls
}, [getSlot(slots) || createVNode(InfoCircleOutlined, null, null)])]
});
};
}
});
export { BasicHelp as default };
//# sourceMappingURL=basic-help2.mjs.map