{"version":3,"file":"option-item.vue2.mjs","sources":["../../../../../packages/components/select/src/option-item.vue"],"sourcesContent":["<template>\n  <div\n    :style=\"style\"\n    :class=\"[\n      ns.be('dropdown', 'option-item'),\n      ns.is('selected', selected),\n      ns.is('disabled', disabled),\n      ns.is('created', created),\n      { hover: hovering }\n    ]\"\n    @mouseenter=\"handleMouseEnter\"\n    @click.stop=\"handleClick\"\n    :title=\"String(label)\"\n  >\n    <slot :item=\"item\" :index=\"index\" :disabled=\"disabled\">\n      <span>{{ label }}</span>\n    </slot>\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject } from 'vue'\nimport { useNamespace } from '@element-ultra/hooks'\nimport { OptionProps } from './defaults'\nimport { selectInjectionKey } from './token'\nimport { computed } from 'vue'\n\nconst props = defineProps(OptionProps)\n\nconst emit = defineEmits({\n  select: (item: Record<string, any>, index: number) => true,\n  hover: (value: any) => true\n})\n\nconst ns = useNamespace('select')\nconst { getLabel } = inject(selectInjectionKey)!\nconst handleMouseEnter = () => {\n  if (!props.disabled) {\n    emit('hover', props.index)\n  }\n}\nconst handleClick = () => {\n  if (props.disabled) return\n  emit('select', props.item!, props.index!)\n}\nconst label = computed(() => getLabel(props.item))\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAkCA,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAChC,IAAA,MAAM,EAAE,QAAA,EAAa,GAAA,MAAA,CAAO,kBAAkB,CAAA,CAAA;AAC9C,IAAA,MAAM,mBAAmB,MAAM;AAC7B,MAAI,IAAA,CAAC,MAAM,QAAU,EAAA;AACnB,QAAK,IAAA,CAAA,OAAA,EAAS,MAAM,KAAK,CAAA,CAAA;AAAA,OAC3B;AAAA,KACF,CAAA;AACA,IAAA,MAAM,cAAc,MAAM;AACxB,MAAA,IAAI,KAAM,CAAA,QAAA;AAAU,QAAA,OAAA;AACpB,MAAA,IAAA,CAAK,QAAU,EAAA,KAAA,CAAM,IAAO,EAAA,KAAA,CAAM,KAAM,CAAA,CAAA;AAAA,KAC1C,CAAA;AACA,IAAA,MAAM,QAAQ,QAAS,CAAA,MAAM,QAAS,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}