{"version":3,"file":"popper.vue.mjs","sources":["../../../components/popper/popper.vue"],"sourcesContent":["<template>\r\n  <Portal :to=\"props.to\">\r\n    <Transition\r\n      :name=\"props.transition\"\r\n      :appear=\"props.appear\"\r\n      @before-enter=\"emitHookEvent('be', $event)\"\r\n      @enter=\"emitHookEvent('e', $event)\"\r\n      @after-enter=\"emitHookEvent('ae', $event)\"\r\n      @enter-cancelled=\"emitHookEvent('ec', $event)\"\r\n      @before-leave=\"emitHookEvent('bl', $event)\"\r\n      @leave=\"emitHookEvent('l', $event)\"\r\n      @after-leave=\"emitHookEvent('al', $event)\"\r\n      @leave-cancelled=\"emitHookEvent('lc', $event)\"\r\n    >\r\n      <div\r\n        v-if=\"props.alive || props.visible\"\r\n        v-show=\"!props.alive || props.visible\"\r\n        ref=\"wrapper\"\r\n        v-bind=\"$attrs\"\r\n        :class=\"[nh.b(), props.to !== 'body' && nh.bm('inherit')]\"\r\n        :role=\"props.role\"\r\n        :style=\"{ zIndex: props.to && props.visible ? zIndex : undefined }\"\r\n      >\r\n        <slot></slot>\r\n      </div>\r\n    </Transition>\r\n  </Portal>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Portal } from '@/components/portal'\r\n\r\nimport { defineComponent, ref, watch } from 'vue'\r\n\r\nimport { emitEvent, useNameHelper, useProps, useZIndex } from '@vexip-ui/config'\r\nimport { popperProps } from './props'\r\n\r\nexport default defineComponent({\r\n  name: 'Popper',\r\n  components: {\r\n    Portal,\r\n  },\r\n  inheritAttrs: false,\r\n  props: popperProps,\r\n  emits: [],\r\n  setup(_props) {\r\n    const nh = useNameHelper('popper')\r\n    const props = useProps('popper', _props, {\r\n      visible: false,\r\n      alive: false,\r\n      to: '',\r\n      transition: () => nh.ns('drop'),\r\n      appear: false,\r\n      role: 'dialog',\r\n    })\r\n    const getIndex = useZIndex()\r\n\r\n    const zIndex = ref(10)\r\n\r\n    const wrapper = ref<HTMLElement>()\r\n\r\n    watch(\r\n      () => props.visible,\r\n      value => {\r\n        if (props.to && value) {\r\n          zIndex.value = getIndex()\r\n        }\r\n      },\r\n      { immediate: true },\r\n    )\r\n\r\n    function emitHookEvent(name: 'be' | 'e' | 'ae' | 'ec' | 'bl' | 'l' | 'al' | 'lc', el: Element) {\r\n      switch (name) {\r\n        case 'be':\r\n          emitEvent(props.onBeforeEnter, el)\r\n          break\r\n        case 'e':\r\n          emitEvent(props.onEnter, el)\r\n          break\r\n        case 'ae':\r\n          emitEvent(props.onAfterEnter, el)\r\n          break\r\n        case 'ec':\r\n          emitEvent(props.onEnterCancelled, el)\r\n          break\r\n        case 'bl':\r\n          emitEvent(props.onBeforeLeave, el)\r\n          break\r\n        case 'l':\r\n          emitEvent(props.onLeave, el)\r\n          break\r\n        case 'al':\r\n          emitEvent(props.onAfterLeave, el)\r\n          break\r\n        case 'lc':\r\n          emitEvent(props.onLeaveCancelled, el)\r\n          break\r\n      }\r\n    }\r\n\r\n    return {\r\n      nh,\r\n      props,\r\n      zIndex,\r\n\r\n      wrapper,\r\n\r\n      emitHookEvent,\r\n    }\r\n  },\r\n})\r\n</script>\r\n"],"names":["_createBlock","_component_Portal","_ctx","_createVNode","_Transition","_cache","$event","_withDirectives","_openBlock","_createElementBlock","_mergeProps","_renderSlot","_hoisted_1","_createCommentVNode"],"mappings":";;;;;;cACEA,EAyBSC,GAAA;AAAA,IAzBA,IAAIC,EAAM,MAAA;AAAA,EAAA,GAAA;AAAA,eACjB,MAuBa;AAAA,MAvBbC,EAuBaC,GAAA;AAAA,QAtBV,MAAMF,EAAM,MAAA;AAAA,QACZ,QAAQA,EAAM,MAAA;AAAA,QACd,eAAYG,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEJ,EAAa,cAAA,MAAOI,CAAM;AAAA,QACxC,SAAKD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEJ,EAAa,cAAA,KAAMI,CAAM;AAAA,QAChC,cAAWD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEJ,EAAa,cAAA,MAAOI,CAAM;AAAA,QACvC,kBAAeD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEJ,EAAa,cAAA,MAAOI,CAAM;AAAA,QAC3C,eAAYD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEJ,EAAa,cAAA,MAAOI,CAAM;AAAA,QACxC,SAAKD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEJ,EAAa,cAAA,KAAMI,CAAM;AAAA,QAChC,cAAWD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEJ,EAAa,cAAA,MAAOI,CAAM;AAAA,QACvC,kBAAeD,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAEJ,EAAa,cAAA,MAAOI,CAAM;AAAA,MAAA,GAAA;AAAA,mBAE5C,MAUM;AAAA,UATEJ,QAAM,SAASA,EAAA,MAAM,UAD7BK,GAAAC,EAAA,GAAAC,EAUM,OAVNC,EAUM;AAAA,YAAA,KAAA;AAAA,YAPJ,KAAI;AAAA,UAAA,GACIR,EAAM,QAAA;AAAA,YACb,OAAK,CAAGA,EAAG,GAAA,EAAA,GAAKA,EAAM,MAAA,OAAE,UAAeA,EAAA,GAAG,GAAE,SAAA,CAAA;AAAA,YAC5C,MAAMA,EAAM,MAAA;AAAA,YACZ,OAAK,EAAY,QAAAA,EAAA,MAAM,MAAMA,EAAM,MAAA,UAAUA,WAAS,OAAS;AAAA,UAAA,CAAA,GAAA;AAAA,YAEhES,EAAaT,EAAA,QAAA,SAAA;AAAA,UAAA,GAAA,IAAAU,CAAA,IAAA;AAAA,iBAPJV,EAAM,MAAA,SAASA,QAAM,OAAO;AAAA,UAAA,CAAA,IAAAW,EAAA,IAAA,EAAA;AAAA;;;;;;;;"}