{"version":3,"file":"popup-item.vue2.mjs","sources":["../../../components/popup/popup-item.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { Renderer } from '@/components/renderer'\r\n\r\nimport { computed, inject, nextTick, onMounted, ref } from 'vue'\r\n\r\nimport { classProp, useNameHelper, useZIndex } from '@vexip-ui/config'\r\nimport { noop } from '@vexip-ui/utils'\r\nimport { DELETE_HANDLER } from './symbol'\r\n\r\nimport type { PropType } from 'vue'\r\nimport type { PopupItemState } from './symbol'\r\n\r\ndefineOptions({ name: 'PopupItem' })\r\n\r\nconst props = defineProps({\r\n  state: {\r\n    type: Object as PropType<PopupItemState>,\r\n    default: () => ({}),\r\n  },\r\n  transitionName: {\r\n    type: String,\r\n    default: null,\r\n  },\r\n  innerClass: {\r\n    type: classProp,\r\n    default: null,\r\n  },\r\n})\r\n\r\nconst emit = defineEmits(['enter', 'leave'])\r\n\r\nconst handleDelete = inject(DELETE_HANDLER, noop)\r\nconst nh = useNameHelper('popup')\r\nconst getIndex = useZIndex()\r\n\r\nconst wrapper = ref<HTMLElement>()\r\n\r\nconst transition = computed(() => props.transitionName || nh.ns('popup-top'))\r\n\r\nonMounted(() => {\r\n  nextTick(() => {\r\n    const state = props.state\r\n\r\n    if (state && wrapper.value) {\r\n      state.height = wrapper.value.offsetHeight\r\n    }\r\n  })\r\n})\r\n</script>\r\n\r\n<template>\r\n  <Transition appear :name=\"transition\" @after-leave=\"handleDelete(state.key)\">\r\n    <div\r\n      v-show=\"state.visible\"\r\n      ref=\"wrapper\"\r\n      :class=\"nh.be('item')\"\r\n      :style=\"{ zIndex: getIndex() }\"\r\n      :vxp-index=\"state.key\"\r\n      @pointerenter=\"emit('enter')\"\r\n      @pointerleave=\"emit('leave')\"\r\n    >\r\n      <div :class=\"[nh.be('item-inner'), innerClass]\">\r\n        <slot :item=\"state\">\r\n          <Renderer\r\n            v-if=\"typeof state.renderer === 'function'\"\r\n            :renderer=\"state.renderer\"\r\n          ></Renderer>\r\n          <template v-else>\r\n            {{ state.content }}\r\n          </template>\r\n        </slot>\r\n      </div>\r\n    </div>\r\n  </Transition>\r\n</template>\r\n"],"names":["props","__props","emit","__emit","handleDelete","inject","DELETE_HANDLER","noop","nh","useNameHelper","getIndex","useZIndex","wrapper","ref","transition","computed","onMounted","nextTick","state","_createBlock","_Transition","_cache","$event","_unref","_createElementVNode","_normalizeClass","_renderSlot","_ctx","Renderer","_createElementBlock","_Fragment","_createTextVNode","_toDisplayString","_vShow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAcA,UAAMA,IAAQC,GAeRC,IAAOC,GAEPC,IAAeC,EAAOC,GAAgBC,CAAI,GAC1CC,IAAKC,EAAc,OAAO,GAC1BC,IAAWC,EAAU,GAErBC,IAAUC,EAAiB,GAE3BC,IAAaC,EAAS,MAAMf,EAAM,kBAAkBQ,EAAG,GAAG,WAAW,CAAC;AAE5E,WAAAQ,EAAU,MAAM;AACd,MAAAC,EAAS,MAAM;AACb,cAAMC,IAAQlB,EAAM;AAEhB,QAAAkB,KAASN,EAAQ,UACbM,EAAA,SAASN,EAAQ,MAAM;AAAA,MAC/B,CACD;AAAA,IAAA,CACF,mBAICO,EAsBaC,GAAA;AAAA,MAtBD,QAAA;AAAA,MAAQ,MAAMN,EAAU;AAAA,MAAG,cAAaO,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAC,EAAAnB,CAAA,EAAaH,EAAA,MAAM,GAAG;AAAA,IAAA;iBACxE,MAoBM;AAAA,UApBNuB,EAoBM,OAAA;AAAA,mBAlBA;AAAA,UAAJ,KAAIZ;AAAA,UACH,OAAKa,EAAEF,EAAEf,CAAA,EAAC,GAAE,MAAA,CAAA;AAAA,UACZ,mBAAiBe,EAAQb,CAAA,EAAA,GAAA;AAAA,UACzB,aAAWT,EAAK,MAAC;AAAA,UACjB,uCAAcC,EAAI,OAAA;AAAA,UAClB,uCAAcA,EAAI,OAAA;AAAA,QAAA;UAEnBsB,EAUM,OAAA;AAAA,YAVA,OAAQC,EAAA,CAAAF,EAAAf,CAAA,EAAG,kBAAkBP,EAAU,UAAA,CAAA;AAAA,UAAA;YAC3CyB,EAQOC,EARA,QAAA,WAAA,EAAA,MAAM1B,EAAA,SAAb,MAQO;AAAA,cANU,OAAAA,EAAA,MAAM,YAAQ,mBAD7BkB,EAGYI,EAAAK,CAAA,GAAA;AAAA;gBADT,UAAU3B,EAAK,MAAC;AAAA,iDAEnB4B,EAEWC,GAAA,EAAA,KAAA,KAAA;AAAA,gBADNC,EAAAC,EAAA/B,EAAA,MAAM,OAAO,GAAA,CAAA;AAAA;;;;UAfd,CAAAgC,GAAAhC,EAAA,MAAM,OAAO;AAAA;;;;;;"}