UNPKG

ant-design-vue

Version:

An enterprise-class UI design language and Vue-based implementation

52 lines (45 loc) 1.79 kB
import { createVNode as _createVNode } from "vue"; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } import { inject, defineComponent } from 'vue'; import classNames from '../_util/classNames'; import { defaultConfigProvider } from '../config-provider'; import PropTypes from '../_util/vue-types'; var CheckableTag = defineComponent({ name: 'ACheckableTag', props: { prefixCls: PropTypes.string, checked: PropTypes.looseBool, onChange: { type: Function }, onClick: { type: Function } }, emits: ['update:checked', 'change', 'click'], setup: function setup(props, _ref) { var slots = _ref.slots, emit = _ref.emit; var _inject = inject('configProvider', defaultConfigProvider), getPrefixCls = _inject.getPrefixCls; var handleClick = function handleClick(e) { var checked = props.checked; emit('update:checked', !checked); emit('change', !checked); emit('click', e); }; return function () { var _classNames; var _a; var checked = props.checked, customizePrefixCls = props.prefixCls; var prefixCls = getPrefixCls('tag', customizePrefixCls); var cls = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, "".concat(prefixCls, "-checkable"), true), _defineProperty(_classNames, "".concat(prefixCls, "-checkable-checked"), checked), _classNames)); return _createVNode("span", { "class": cls, "onClick": handleClick }, [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]); }; } }); export default CheckableTag;