{"version":3,"file":"tabs.mjs","sources":["../../../../../../packages/components/emoji/src/tabs.vue"],"sourcesContent":["<template>\n  <div :class=\"ns.b()\">\n    <div\n      v-for=\"(item, index) in options\"\n      :key=\"index\"\n      :class=\"[ns.e('item'), index === curIndex ? 'active' : '']\"\n      @click=\"handleClick(item, index)\"\n    >\n      <span>{{ item.label }}</span>\n      <div v-if=\"index < options.length - 1\" :class=\"ns.m('line')\" />\n    </div>\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport { useNamespace } from 'element-plus'\nimport { definePropType } from '@element-plus/utils'\nimport { CHANGE_EVENT } from '@element-plus/constants'\n\ninterface Option {\n  label: string\n  value: string\n}\n\ndefineOptions({\n  name: 'ElEmojiTabs',\n})\n\ndefineProps({\n  options: {\n    type: definePropType<Option[]>(Array),\n    default: () => [],\n  },\n})\n\nconst curIndex = ref(0)\n\nconst emit = defineEmits({\n  [CHANGE_EVENT]: (value: string) => !!value,\n})\n\nconst ns = useNamespace('emoji-tabs')\n\nconst handleClick = (item: Option, index: number) => {\n  curIndex.value = index\n  emit(CHANGE_EVENT, item.value)\n}\n</script>\n"],"names":[],"mappings":";;;;;;mCAyBc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AACR,CAAA,CAAA,CAAA;;;;;;;;;;;;;AASM,IAAA,MAAA,QAAA,GAAW,IAAI,CAAC,CAAA,CAAA;AAEtB,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAIP,IAAA,MAAA,EAAA,GAAK,aAAa,YAAY,CAAA,CAAA;AAE9B,IAAA,MAAA,WAAA,GAAc,CAAC,IAAA,EAAc,KAAkB,KAAA;AACnD,MAAA,QAAA,CAAS,KAAQ,GAAA,KAAA,CAAA;AACZ,MAAA,IAAA,CAAA,YAAA,EAAc,KAAK,KAAK,CAAA,CAAA;AAAA,KAC/B,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}