UNPKG

@vuesax-alpha/nightly

Version:
65 lines (62 loc) 2.07 kB
import { defineComponent, inject, computed, openBlock, createElementBlock, normalizeClass, renderSlot, createBlock, unref, createCommentVNode } from 'vue'; import '../../../hooks/index.mjs'; import { IconClose } from '../../icon/index.mjs'; import { chipProps, chipEmits } from './chip.mjs'; import { selectContextKey } from './tokens.mjs'; import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs'; import { useNamespace } from '../../../hooks/use-namespace/index.mjs'; const __default__ = defineComponent({ name: "VsChip" }); const _sfc_main = defineComponent({ ...__default__, props: chipProps, emits: chipEmits, setup(__props, { emit }) { const props = __props; const ns = useNamespace("chip"); const select = inject(selectContextKey); const chipKls = 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 openBlock(), createElementBlock( "span", { class: normalizeClass(chipKls.value), onClick }, [ renderSlot(_ctx.$slots, "default"), !_ctx.disabled && _ctx.showClose ? (openBlock(), createBlock(unref(IconClose), { key: 0, hover: "less", scale: "0.5", onClick: onClose, onMouseenter: onMouseEnterClose, onMouseleave: onMouseLeaveClose })) : createCommentVNode("v-if", true) ], 2 ); }; } }); var VsChip = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/vuesax-alpha/vuesax-alpha/packages/components/select/src/chip.vue"]]); export { VsChip as default }; //# sourceMappingURL=chip2.mjs.map