@vuesax-alpha/nightly
Version:
A Component Library for Vue 3
69 lines (64 loc) • 2.09 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
require('../../../hooks/index.js');
var index$1 = require('../../icon/index.js');
var chip = require('./chip.js');
var tokens = require('./tokens.js');
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
var index = require('../../../hooks/use-namespace/index.js');
const __default__ = vue.defineComponent({
name: "VsChip"
});
const _sfc_main = vue.defineComponent({
...__default__,
props: chip.chipProps,
emits: chip.chipEmits,
setup(__props, { emit }) {
const props = __props;
const ns = index.useNamespace("chip");
const select = vue.inject(tokens.selectContextKey);
const chipKls = vue.computed(() => [
ns.b(),
ns.is("disabled", props.disabled),
ns.is("hit", props.hit),
ns.is(props.shape)
]);
const onClick = (e) => {
emit("click", e);
};
const onClose = (e) => {
emit("close", e);
};
const onMouseEnterClose = () => {
select.handleTarget("chip-close", !props.disabled);
};
const onMouseLeaveClose = () => {
select.handleTarget(null);
};
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock(
"span",
{
class: vue.normalizeClass(chipKls.value),
onClick
},
[
vue.renderSlot(_ctx.$slots, "default"),
!_ctx.disabled && _ctx.showClose ? (vue.openBlock(), vue.createBlock(vue.unref(index$1.IconClose), {
key: 0,
hover: "less",
scale: "0.5",
onClick: onClose,
onMouseenter: onMouseEnterClose,
onMouseleave: onMouseLeaveClose
})) : vue.createCommentVNode("v-if", true)
],
2
);
};
}
});
var VsChip = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/home/runner/work/vuesax-alpha/vuesax-alpha/packages/components/select/src/chip.vue"]]);
exports["default"] = VsChip;
//# sourceMappingURL=chip2.js.map