{"version":3,"file":"popup.vue.mjs","sources":["../../../../../../packages/components/tooltip/src/popup.vue"],"sourcesContent":["<script lang=\"ts\">\n  import { defineComponent, computed, ref, onUnmounted } from 'vue'\n  import type { StyleValue } from 'vue'\n  import { getNamespace } from '../../../utils/global-config'\n  import Scrollbar from '../../scrollbar/src/scrollbar.vue'\n\n  export default defineComponent({\n    name: 'TooltipPopup',\n    components: {\n      Scrollbar\n    },\n    // eslint-disable-next-line vue/require-prop-types\n    props: ['content', 'effect', 'backgroundColor', 'position', 'popupClass', 'size'],\n    emits: ['close', 'destroy'],\n    setup(props) {\n      const ns = getNamespace('tooltip')\n      const contentCls = computed(() => [\n        ns,\n        `is-${props.effect.value}`,\n        props.size.value && `${ns}--${props.size.value}`,\n        getNamespace('trigger-popup'),\n        props.popupClass.value && props.popupClass.value\n      ])\n      const arrowStyle = computed(() => {\n        const style: StyleValue = {}\n        if (props.backgroundColor.value) {\n          style['--bn-trigger-arrow-background-color'] = props.backgroundColor.value\n        } else {\n          if (props.effect.value === 'dark') {\n            style['--bn-trigger-arrow-background-color'] = 'rgba(0,0,0,.8)'\n          }\n          if (props.effect.value === 'light') {\n            style['--bn-trigger-arrow-background-color'] = '#fff'\n          }\n        }\n        return style\n      })\n      const contentStyle = computed(() => {\n        const style: StyleValue = {}\n        if (props.backgroundColor.value) {\n          style.backgroundColor = props.backgroundColor.value\n        } else {\n          if (props.effect.value === 'dark') {\n            style.color = '#fff'\n            style['background-color'] = 'rgba(0,0,0,.8)'\n          }\n          if (props.effect.value === 'light') {\n            style.color = '#000'\n            style['background-color'] = '#fff'\n            style['box-shadow'] = '0px 8px 40px 0px rgba(100,107,122,0.15)'\n          }\n        }\n        return style\n      })\n\n      const visible = ref(true)\n\n      const changeVisible = (value: boolean) => {\n        visible.value = value\n      }\n\n      onUnmounted(() => {\n        visible.value = false\n      })\n\n      return {\n        ns,\n        contentStyle,\n        contentCls,\n        arrowStyle,\n        visible,\n        changeVisible\n      }\n    }\n  })\n</script>\n\n<template>\n  <transition\n    name=\"bn-fade-in-standard\"\n    appear\n    @before-leave=\"$emit('close')\"\n    @after-leave=\"$emit('destroy')\"\n  >\n    <div v-show=\"visible\" :class=\"contentCls\" :style=\"contentStyle\">\n      <Scrollbar style=\"max-height: 140px\" :class=\"[`${ns}__content`]\">\n        <div>\n          <slot name=\"content\">\n            {{ content.value }}\n          </slot>\n        </div>\n      </Scrollbar>\n\n      <div class=\"arrow\" :style=\"arrowStyle\"></div>\n    </div>\n  </transition>\n</template>\n"],"names":["_resolveComponent","_openBlock","_createBlock","_Transition","_withCtx","_withDirectives","_createElementVNode","contentStyle","_normalizeClass","_normalizeStyle","ns","arrowStyle","visible"],"mappings":";;;;;+BA8EEA,iBAiBa,WAAA,CAAA,CAAA;AAfL,EAAA,OAAAC,SAAA,EAAA,EAAAC,WAAA,CAAAC,UAAA,EAAA;AAAA,IACL,IAAA,EAAA,qBAAA;AAAA,IACA,MAAA,EAAA,EAAA;AAAA,IAJH,aAAA,EAiBa,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,IAAA,CAAA,KAAA,CAAA,OAAA,CAAA,CAAA;AAAA,IAAA,YAAA,EAAA,MAAA,CAAA,CAAA,CAAA,KAAA,MAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,KAAA,IAAA,CAAA,KAAA,CAAA,SAAA,CAAA,CAAA;AAAA;;IAXiB,OAAA,EAAAC,QAAA,MAAA;AAAA,MAAoBC,cAAA,CAAAC,kBAAA;AAAA,QAAEC,KAAAA;AAAAA,QAAY;AAAA,UAAA,KAAA,EAAAC,cAAA,CAAA,IAAA,CAAA,UAAA,CAAA;AAAA,UAC5D,KAAA,EAMYC,cAAA,CAAA,IAAA,CAAA,YAAA,CAAA;AAAA,SAAA;AAAA;sBAN+B,oBAAMC,EAAAA;AAAAA,YAAAA,KAAAA,EAAAA,EAAAA,YAAAA,EAAAA,OAAAA,EAAAA;AAAAA,YAKzC,OAAAF,cAAA,CAAA,CAAA,CAAA,EAAA,IAAA,CAAA,aAAA,CAAA,CAAA;AAAA,WAAA,EAAA;AAAA,qBAHJJ,QAEO,MAAA;AAAA,cAAAE,kBAAA,CAAA,OAAA,IAAA,EAAA;AAAA;;;;;;;;;YAIX,CAAA,EAAA,CAAA;AAAA;AAAA,WAAK,EAAA,CAAA,EAAa,CAAA,OAAA,CAAA,CAAA;AAAA,UAAAA,kBAAA;AAAA,YAAO,KAAA;AAAA,YAAEK;AAAAA,cAAAA,KAAAA,EAAAA,OAAAA;AAAAA;;;YAThBC,CAAAA;AAAAA;AAAAA,WAAO;AAAA,SAAA;AAAA;;;;;;;;;;;;;;"}