UNPKG

vexip-ui

Version:

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

1 lines 3 kB
{"version":3,"file":"wheel-item.vue2.cjs","sources":["../../../components/wheel/wheel-item.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject, onBeforeUnmount, onMounted, reactive, ref, toRef } from 'vue'\n\nimport { useNameHelper } from '@vexip-ui/config'\nimport { WHEEL_STATE } from './symbol'\n\ndefineOptions({ name: 'WheelItem' })\n\nconst props = defineProps({\n value: {\n type: [Number, String],\n default: null,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n active: {\n type: Boolean,\n default: false,\n },\n meta: {\n type: [String, Number, Object],\n default: null,\n },\n})\n\nconst nh = useNameHelper('wheel')\n\nconst wheelState = inject(WHEEL_STATE, null)\n\nconst width = ref(0)\nconst height = ref(0)\n\nconst wrapper = ref<HTMLElement>()\n\nconst state = reactive({\n width,\n height,\n el: wrapper,\n value: toRef(props, 'value'),\n disabled: toRef(props, 'disabled'),\n meta: toRef(props, 'meta'),\n})\n\nconst style = computed(() => {\n return {\n width: width.value ? `${width.value}px` : undefined,\n height: height.value ? `${height.value}px` : undefined,\n }\n})\n\nif (wheelState) {\n onMounted(() => {\n wheelState.increaseItem(state)\n })\n\n onBeforeUnmount(() => {\n wheelState.decreaseItem(state)\n })\n}\n\ndefineExpose({ wrapper })\n</script>\n\n<template>\n <li\n ref=\"wrapper\"\n :class=\"[\n nh.be('item'),\n disabled && nh.bem('item', 'disabled'),\n active && nh.bem('item', 'active')\n ]\"\n role=\"option\"\n :aria-disabled=\"disabled ? 'true' : undefined\"\n :aria-selected=\"active\"\n :style=\"style\"\n >\n <slot>\n {{ value }}\n </slot>\n </li>\n</template>\n"],"names":["props","__props","nh","useNameHelper","wheelState","inject","WHEEL_STATE","width","ref","height","wrapper","state","reactive","toRef","style","computed","onMounted","onBeforeUnmount","__expose","_createElementBlock","_normalizeClass","_unref","_renderSlot","_ctx"],"mappings":"oXAQA,MAAMA,EAAQC,EAmBRC,EAAKC,gBAAc,OAAO,EAE1BC,EAAaC,EAAAA,OAAOC,EAAA,YAAa,IAAI,EAErCC,EAAQC,MAAI,CAAC,EACbC,EAASD,MAAI,CAAC,EAEdE,EAAUF,EAAAA,IAAiB,EAE3BG,EAAQC,EAAAA,SAAS,CACrB,MAAAL,EACA,OAAAE,EACA,GAAIC,EACJ,MAAOG,EAAAA,MAAMb,EAAO,OAAO,EAC3B,SAAUa,EAAAA,MAAMb,EAAO,UAAU,EACjC,KAAMa,EAAAA,MAAMb,EAAO,MAAM,CAAA,CAC1B,EAEKc,EAAQC,EAAAA,SAAS,KACd,CACL,MAAOR,EAAM,MAAQ,GAAGA,EAAM,KAAK,KAAO,OAC1C,OAAQE,EAAO,MAAQ,GAAGA,EAAO,KAAK,KAAO,MAC/C,EACD,EAED,OAAIL,IACFY,EAAAA,UAAU,IAAM,CACdZ,EAAW,aAAaO,CAAK,CAAA,CAC9B,EAEDM,EAAAA,gBAAgB,IAAM,CACpBb,EAAW,aAAaO,CAAK,CAAA,CAC9B,GAGUO,EAAA,CAAE,QAAAR,EAAS,wBAItBS,EAAA,mBAeK,KAAA,SAdC,UAAJ,IAAIT,EACH,MAAKU,EAAAA,eAAA,CAAUC,EAAAA,MAAAnB,CAAA,EAAG,GAAE,MAAA,EAAgBD,EAAQ,UAAIoB,QAAEnB,CAAA,EAAC,IAAG,OAAA,UAAA,EAA4BD,EAAM,QAAIoB,EAAA,MAAEnB,CAAA,EAAC,IAAG,OAAA,QAAA,CAAA,GAKnG,KAAK,SACJ,gBAAeD,EAAQ,SAAA,OAAY,OACnC,gBAAeA,EAAM,OACrB,uBAAOa,EAAK,KAAA,CAAA,GAEbQ,EAAAA,WAEOC,sBAFP,IAEO,qCADFtB,EAAK,KAAA,EAAA,CAAA"}