{"version":3,"file":"popover.mjs","sources":["../../../../../../packages/components/popover/src/popover.vue"],"sourcesContent":["<template>\n  <b-tooltip\n    ref=\"tooltipRef\"\n    v-bind=\"$attrs\"\n    :trigger=\"trigger\"\n    :placement=\"placement\"\n    :disabled=\"disabled\"\n    :visible=\"visible\"\n    :transition=\"transition\"\n    :popper-options=\"popperOptions\"\n    :tabindex=\"tabindex\"\n    :content=\"content\"\n    :offset=\"offset\"\n    :show-after=\"showAfter\"\n    :hide-after=\"hideAfter\"\n    :auto-close=\"autoClose\"\n    :show-arrow=\"showArrow\"\n    :aria-label=\"title\"\n    :effect=\"effect\"\n    :enterable=\"enterable\"\n    :popper-class=\"kls\"\n    :popper-style=\"style\"\n    :teleported=\"teleported\"\n    :persistent=\"persistent\"\n    :gpu-acceleration=\"gpuAcceleration\"\n    data-test-name=\"popover\"\n    data-test-variant=\"\"\n    data-test-state=\"\"\n    @update:visible=\"onUpdateVisible\"\n    @before-show=\"beforeEnter\"\n    @before-hide=\"beforeLeave\"\n    @show=\"afterEnter\"\n    @hide=\"afterLeave\"\n  >\n    <template v-if=\"$slots.reference\">\n      <slot name=\"reference\" />\n    </template>\n\n    <template #content>\n      <div v-if=\"title\" :class=\"ns.e('title')\" role=\"title\">\n        {{ title }}\n      </div>\n      <slot>\n        {{ content }}\n      </slot>\n    </template>\n  </b-tooltip>\n</template>\n<script lang=\"ts\" setup>\nimport { computed, ref, unref } from 'vue'\nimport { BTooltip } from '@bigin/components/tooltip'\nimport { addUnit } from '@bigin/utils'\nimport { useNamespace } from '@bigin/hooks'\nimport { popoverEmits, popoverProps } from './popover'\nimport type { TooltipInstance } from '@bigin/components/tooltip'\n\ndefineOptions({\n  name: 'BPopover',\n})\n\nconst props = defineProps(popoverProps)\nconst emit = defineEmits(popoverEmits)\n\nconst updateEventKeyRaw = `onUpdate:visible` as const\n\nconst onUpdateVisible = computed(() => {\n  return props[updateEventKeyRaw]\n})\n\nconst ns = useNamespace('popover')\nconst tooltipRef = ref<TooltipInstance>()\nconst popperRef = computed(() => {\n  return unref(tooltipRef)?.popperRef\n})\n\nconst style = computed(() => {\n  return [\n    {\n      width: addUnit(props.width),\n    },\n    props.popperStyle!,\n  ]\n})\n\nconst kls = computed(() => {\n  return [ns.b(), props.popperClass!, { [ns.m('plain')]: !!props.content }]\n})\n\nconst gpuAcceleration = computed(() => {\n  return props.transition === `${ns.namespace.value}-fade-in-linear`\n})\n\nconst hide = () => {\n  tooltipRef.value?.hide()\n}\n\nconst beforeEnter = () => {\n  emit('before-enter')\n}\nconst beforeLeave = () => {\n  emit('before-leave')\n}\n\nconst afterEnter = () => {\n  emit('after-enter')\n}\n\nconst afterLeave = () => {\n  emit('update:visible', false)\n  emit('after-leave')\n}\n\ndefineExpose({\n  /** @description popper ref */\n  popperRef,\n  /** @description hide popover */\n  hide,\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;mCAwDc,CAAA;AAAA,EACZ,IAAM,EAAA,UAAA;AACR;;;;;;;AAOM,IAAA,MAAA,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAA,OAAO,KAAM,CAAA,iBAAA,CAAA,CAAA;AAAA,KACd,CAAA,CAAA;AAEK,IAAA,MAAA,EAAA,GAAK,aAAa,SAAS,CAAA,CAAA;AACjC,IAAA,MAAM,aAAa,GAAqB,EAAA,CAAA;AAClC,IAAA,MAAA,SAAA,GAAY,SAAS,MAAM;AACxB,MAAA,OAAA,KAAA,CAAM,UAAU,CAAG,EAAA,SAAA,CAAA;AAAA,KAC3B,CAAA,CAAA;AAEK,IAAA,MAAA,KAAA,GAAQ,SAAS,MAAM;AACpB,MAAA,OAAA;AAAA,QACL;AAAA,UACE,KAAA,EAAO,OAAQ,CAAA,KAAA,CAAM,KAAK,CAAA;AAAA,SAC5B;AAAA,QACA,KAAM,CAAA,WAAA;AAAA,OACR,CAAA;AAAA,KACD,CAAA,CAAA;AAEK,IAAA,MAAA,GAAA,GAAM,SAAS,MAAM;AACzB,MAAA,OAAO,CAAC,EAAG,CAAA,CAAA,EAAK,EAAA,KAAA,CAAM,aAAc,EAAE,CAAC,EAAG,CAAA,CAAA,CAAE,OAAO,CAAI,GAAA,CAAC,CAAC,KAAA,CAAM,SAAS,CAAA,CAAA;AAAA,KACzE,CAAA,CAAA;AAEK,IAAA,MAAA,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAA,OAAO,KAAM,CAAA,UAAA,KAAe,CAAG,EAAA,EAAA,CAAG,SAAU,CAAA,KAAA,CAAA,eAAA,CAAA,CAAA;AAAA,KAC7C,CAAA,CAAA;AAED,IAAA,MAAM,OAAO,MAAM;AACjB,MAAA,UAAA,CAAW,OAAO,IAAK,EAAA,CAAA;AAAA,KACzB,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;AACxB,MAAA,IAAA,CAAK,cAAc,CAAA,CAAA;AAAA,KACrB,CAAA;AACA,IAAA,MAAM,cAAc,MAAM;AACxB,MAAA,IAAA,CAAK,cAAc,CAAA,CAAA;AAAA,KACrB,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,IAAA,CAAK,aAAa,CAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAA,IAAA,CAAK,kBAAkB,KAAK,CAAA,CAAA;AAC5B,MAAA,IAAA,CAAK,aAAa,CAAA,CAAA;AAAA,KACpB,CAAA;AAEa,IAAA,MAAA,CAAA;AAAA,MAEX,SAAA;AAAA,MAEA,IAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}