{"version":3,"file":"tag.mjs","sources":["../../../../../../packages/components/tag/src/tag.vue"],"sourcesContent":["<template>\n  <span\n    v-if=\"disableTransitions\"\n    :class=\"classes\"\n    :style=\"{ backgroundColor: color }\"\n    @click=\"handleClick\"\n  >\n    <slot v-if=\"$slots.prefix\" name=\"prefix\"></slot>\n    <span><slot></slot></span>\n    <slot v-if=\"$slots.suffix\" name=\"suffix\"></slot>\n    <hl-icon v-if=\"closable\" class=\"tag-close\" @click=\"handleClose\">\n      <system-close />\n    </hl-icon>\n  </span>\n  <transition v-else name=\"zoom-in-center\">\n    <span\n      :class=\"classes\"\n      :style=\"{ backgroundColor: color }\"\n      @click=\"handleClick\"\n    >\n      <slot v-if=\"$slots.prefix\" name=\"prefix\"></slot>\n      <span><slot></slot></span>\n      <slot v-if=\"$slots.suffix\" name=\"suffix\"></slot>\n      <hl-icon v-if=\"closable\" class=\"tag-close\" @click=\"handleClose\">\n        <system-close />\n      </hl-icon>\n    </span>\n  </transition>\n</template>\n\n<script lang='ts'>\nimport { computed, defineComponent } from 'vue'\nimport HlIcon from '@hongluan-ui/components/icon'\nimport { SystemClose } from '@hongluan-ui/components/system-icon'\nimport { useConsistentProp, useNamespace } from '@hongluan-ui/hooks'\nimport { tagProps } from './tag'\n\nexport default defineComponent({\n  name: 'Tag',\n  components: {\n    HlIcon,\n    SystemClose,\n  },\n  props: tagProps,\n  emits: ['close','click'],\n  setup(props, { emit }) {\n    const { namespace } = useNamespace('tag')\n\n    const { size: tagSize } = useConsistentProp()\n    const classes = computed(() => {\n      const { type, effect, outline, round, active } = props\n      return [\n        namespace.value,\n        type ? type : '',\n        tagSize.value ? `${tagSize.value}` : '',\n        effect && effect,\n        outline ? 'outline' : '',\n        round ? 'round' : '',\n        active ? 'is-focus' : '',\n      ]\n    })\n\n    // methods\n    const handleClose = (event: MouseEvent) => {\n      event.stopPropagation()\n      emit('close', event)\n    }\n\n    const handleClick = (event: MouseEvent) => {\n      emit('click', event)\n    }\n\n    return {\n      classes,\n      handleClose,\n      handleClick,\n    }\n  },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_normalizeStyle","_renderSlot","_createElementVNode","_createBlock","_createVNode","_Transition"],"mappings":";;;;;;;;;;AAqCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV;AAAA,IACA;AAAA;AACF,EACA,OAAO;AAAA,EACP,OAAO,CAAC,SAAQ,OAAO;AAAA,EACvB,MAAM,OAAO,EAAE,QAAQ;AACrB,UAAM,EAAE,cAAc,aAAa,KAAK;AAExC,UAAM,EAAE,MAAM,YAAY;AAC1B,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM,EAAE,MAAM,QAAQ,SAAS,OAAO,WAAW;AACjD,aAAO;AAAA,QACL,UAAU;AAAA,QACV,OAAO,OAAO;AAAA,QACd,QAAQ,QAAQ,GAAG,QAAQ,UAAU;AAAA,QACrC,UAAU;AAAA,QACV,UAAU,YAAY;AAAA,QACtB,QAAQ,UAAU;AAAA,QAClB,SAAS,aAAa;AAAA;AACxB,KACD;AAGD,UAAM,cAAc,CAAC,UAAsB;AACzC,YAAM;AACN,WAAK,SAAS,KAAK;AAAA;AAGrB,UAAM,cAAc,CAAC,UAAsB;AACzC,WAAK,SAAS,KAAK;AAAA;AAGrB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;;;SA5ES,wCADRA,mBAYO;AAAA;IAVJ,OAAKC,eAAE,YAAO;AAAA,IACd,OAAKC,kCAAqB;AAAK,IAC/B,SAAO;AAAA;IAEI,YAAO,SAAnBC,WAAgD;IAChDC,mBAA0B;AAAA,MAApBD,WAAa;AAAA;IACP,YAAO,SAAnBA,WAAgD;IACjC,8BAAfE,YAEU;AAAA;MAFe,OAAM;AAAA,MAAa,SAAO;AAAA;uBACjD,MAAgB;AAAA,QAAhBC,YAAgB;AAAA;;;uCAGpBD,YAaaE;AAAA;IAbM,MAAK;AAAA;qBACtB,MAWO;AAAA,MAXPH,mBAWO;AAAA,QAVJ,OAAKH,eAAE,YAAO;AAAA,QACd,OAAKC,kCAAqB;AAAK,QAC/B,SAAO;AAAA;QAEI,YAAO,SAAnBC,WAAgD;QAChDC,mBAA0B;AAAA,UAApBD,WAAa;AAAA;QACP,YAAO,SAAnBA,WAAgD;QACjC,8BAAfE,YAEU;AAAA;UAFe,OAAM;AAAA,UAAa,SAAO;AAAA;2BACjD,MAAgB;AAAA,YAAhBC,YAAgB;AAAA;;;;;;;;;;;;"}