{"version":3,"file":"wheel-item.vue2.mjs","sources":["../../../components/wheel/wheel-item.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { computed, inject, onBeforeUnmount, onMounted, reactive, ref, toRef } from 'vue'\r\n\r\nimport { useNameHelper } from '@vexip-ui/config'\r\nimport { WHEEL_STATE } from './symbol'\r\n\r\ndefineOptions({ name: 'WheelItem' })\r\n\r\nconst props = defineProps({\r\n  value: {\r\n    type: [Number, String],\r\n    default: null,\r\n  },\r\n  disabled: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  active: {\r\n    type: Boolean,\r\n    default: false,\r\n  },\r\n  meta: {\r\n    type: [String, Number, Object],\r\n    default: null,\r\n  },\r\n})\r\n\r\nconst nh = useNameHelper('wheel')\r\n\r\nconst wheelState = inject(WHEEL_STATE, null)\r\n\r\nconst width = ref(0)\r\nconst height = ref(0)\r\n\r\nconst wrapper = ref<HTMLElement>()\r\n\r\nconst state = reactive({\r\n  width,\r\n  height,\r\n  el: wrapper,\r\n  value: toRef(props, 'value'),\r\n  disabled: toRef(props, 'disabled'),\r\n  meta: toRef(props, 'meta'),\r\n})\r\n\r\nconst style = computed(() => {\r\n  return {\r\n    width: width.value ? `${width.value}px` : undefined,\r\n    height: height.value ? `${height.value}px` : undefined,\r\n  }\r\n})\r\n\r\nif (wheelState) {\r\n  onMounted(() => {\r\n    wheelState.increaseItem(state)\r\n  })\r\n\r\n  onBeforeUnmount(() => {\r\n    wheelState.decreaseItem(state)\r\n  })\r\n}\r\n\r\ndefineExpose({ wrapper })\r\n</script>\r\n\r\n<template>\r\n  <li\r\n    ref=\"wrapper\"\r\n    :class=\"[\r\n      nh.be('item'),\r\n      disabled && nh.bem('item', 'disabled'),\r\n      active && nh.bem('item', 'active')\r\n    ]\"\r\n    role=\"option\"\r\n    :aria-disabled=\"disabled ? 'true' : undefined\"\r\n    :aria-selected=\"active\"\r\n    :style=\"style\"\r\n  >\r\n    <slot>\r\n      {{ value }}\r\n    </slot>\r\n  </li>\r\n</template>\r\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":";;;;;;;;;;;;;;;;;;;;;;;;;AAQA,UAAMA,IAAQC,GAmBRC,IAAKC,EAAc,OAAO,GAE1BC,IAAaC,EAAOC,GAAa,IAAI,GAErCC,IAAQC,EAAI,CAAC,GACbC,IAASD,EAAI,CAAC,GAEdE,IAAUF,EAAiB,GAE3BG,IAAQC,EAAS;AAAA,MACrB,OAAAL;AAAA,MACA,QAAAE;AAAA,MACA,IAAIC;AAAA,MACJ,OAAOG,EAAMb,GAAO,OAAO;AAAA,MAC3B,UAAUa,EAAMb,GAAO,UAAU;AAAA,MACjC,MAAMa,EAAMb,GAAO,MAAM;AAAA,IAAA,CAC1B,GAEKc,IAAQC,EAAS,OACd;AAAA,MACL,OAAOR,EAAM,QAAQ,GAAGA,EAAM,KAAK,OAAO;AAAA,MAC1C,QAAQE,EAAO,QAAQ,GAAGA,EAAO,KAAK,OAAO;AAAA,IAC/C,EACD;AAED,WAAIL,MACFY,EAAU,MAAM;AACd,MAAAZ,EAAW,aAAaO,CAAK;AAAA,IAAA,CAC9B,GAEDM,EAAgB,MAAM;AACpB,MAAAb,EAAW,aAAaO,CAAK;AAAA,IAAA,CAC9B,IAGUO,EAAA,EAAE,SAAAR,GAAS,mBAItBS,EAeK,MAAA;AAAA,eAdC;AAAA,MAAJ,KAAIT;AAAA,MACH,OAAKU,EAAA;AAAA,QAAWC,EAAAnB,CAAA,EAAG,GAAE,MAAA;AAAA,QAAiBD,EAAQ,YAAIoB,EAAEnB,CAAA,EAAC,IAAG,QAAA,UAAA;AAAA,QAA6BD,EAAM,UAAIoB,EAAEnB,CAAA,EAAC,IAAG,QAAA,QAAA;AAAA,MAAA;MAKtG,MAAK;AAAA,MACJ,iBAAeD,EAAQ,WAAA,SAAY;AAAA,MACnC,iBAAeA,EAAM;AAAA,MACrB,SAAOa,EAAK,KAAA;AAAA,IAAA;MAEbQ,EAEOC,yBAFP,MAEO;AAAA,YADFtB,EAAK,KAAA,GAAA,CAAA;AAAA;;;;"}