UNPKG

@extclp/vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

1 lines 1.78 kB
{"version":3,"file":"option.vue2.mjs","sources":["../../../components/option/option.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport { emitEvent, useNameHelper } from '@vexip-ui/config'\nimport { toAttrValue } from '@vexip-ui/utils'\nimport { optionProps } from './props'\n\ndefineOptions({ name: 'Option' })\n\nconst props = defineProps(optionProps)\n\nconst nh = useNameHelper('option')\nconst className = computed(() => {\n return {\n [nh.b()]: true,\n [nh.bs('vars')]: true,\n [nh.bm('disabled')]: props.disabled,\n [nh.bm('selected')]: !props.disabled && props.selected,\n [nh.bm('divided')]: props.divided,\n [nh.bm('hitting')]: props.hitting,\n [nh.bm('no-hover')]: props.noHover\n }\n})\n\nfunction handleSelect() {\n if (props.disabled) return\n\n emitEvent(props.onSelect!)\n}\n</script>\n\n<template>\n <li\n ref=\"wrapper\"\n :class=\"className\"\n :title=\"title || undefined\"\n role=\"option\"\n :aria-disabled=\"toAttrValue(disabled)\"\n :aria-selected=\"selected\"\n @click=\"handleSelect\"\n >\n <slot>{{ label || value }}</slot>\n </li>\n</template>\n"],"names":["props","__props","nh","useNameHelper","className","computed","handleSelect","emitEvent"],"mappings":";;;;;;;;;AASA,UAAMA,IAAQC,GAERC,IAAKC,EAAc,QAAQ,GAC3BC,IAAYC,EAAS,OAClB;AAAA,MACL,CAACH,EAAG,EAAE,CAAC,GAAG;AAAA,MACV,CAACA,EAAG,GAAG,MAAM,CAAC,GAAG;AAAA,MACjB,CAACA,EAAG,GAAG,UAAU,CAAC,GAAGF,EAAM;AAAA,MAC3B,CAACE,EAAG,GAAG,UAAU,CAAC,GAAG,CAACF,EAAM,YAAYA,EAAM;AAAA,MAC9C,CAACE,EAAG,GAAG,SAAS,CAAC,GAAGF,EAAM;AAAA,MAC1B,CAACE,EAAG,GAAG,SAAS,CAAC,GAAGF,EAAM;AAAA,MAC1B,CAACE,EAAG,GAAG,UAAU,CAAC,GAAGF,EAAM;AAAA,IAC7B,EACD;AAED,aAASM,IAAe;AACtB,MAAIN,EAAM,YAEVO,EAAUP,EAAM,QAAS;AAAA,IAAA;;;;;;;;;;;;;;;;"}