// Utils import { createNamespace } from '../utils'; import { BORDER_SURROUND } from '../utils/constant'; // Components import Icon from '../icon'; const [createComponent, bem] = createNamespace('tag'); export default createComponent({ props: { size: String, mark: Boolean, color: String, plain: Boolean, round: Boolean, textColor: String, closeable: Boolean, type: { type: String, default: 'default', }, }, setup(props, { slots, emit }) { return function () { const { type, mark, plain, color, round, size } = props; const key = plain ? 'color' : 'backgroundColor'; const style = { [key]: color }; if (props.textColor) { style.color = props.textColor; } const classes = { mark, plain, round }; if (size) { classes[size] = size; } const CloseIcon = props.closeable && ( { event.stopPropagation(); emit('close'); }} /> ); return ( {slots.default?.()} {CloseIcon} ); }; }, });