2020-02-28 16:39:47 +00:00
|
|
|
<template>
|
2022-06-12 16:31:56 +03:00
|
|
|
<span
|
2025-01-13 22:32:39 +02:00
|
|
|
class="popover-wrapper"
|
2020-02-28 16:39:47 +00:00
|
|
|
@mouseenter="onMouseenter"
|
|
|
|
|
@mouseleave="onMouseleave"
|
|
|
|
|
>
|
2020-11-24 14:52:01 +02:00
|
|
|
<button
|
2020-02-28 16:39:47 +00:00
|
|
|
ref="trigger"
|
2023-05-08 22:04:05 +03:00
|
|
|
class="popover-trigger-button"
|
|
|
|
|
:class="normalButton ? 'button-default btn' : 'button-unstyled'"
|
2021-02-03 09:18:44 +02:00
|
|
|
type="button"
|
2022-11-07 13:22:40 -05:00
|
|
|
v-bind="triggerAttrs"
|
2021-02-25 10:56:16 +02:00
|
|
|
@click="onClick"
|
2020-02-28 16:39:47 +00:00
|
|
|
>
|
|
|
|
|
<slot name="trigger" />
|
2020-11-24 14:52:01 +02:00
|
|
|
</button>
|
2022-11-21 22:17:33 +02:00
|
|
|
<teleport
|
|
|
|
|
:disabled="!teleport"
|
|
|
|
|
to="#popovers"
|
|
|
|
|
>
|
2022-06-12 16:31:56 +03:00
|
|
|
<transition name="fade">
|
|
|
|
|
<div
|
|
|
|
|
v-if="!hidden"
|
|
|
|
|
ref="content"
|
|
|
|
|
:style="styles"
|
|
|
|
|
class="popover"
|
|
|
|
|
:class="popoverClass || 'popover-default'"
|
|
|
|
|
@mouseenter="onMouseenterContent"
|
|
|
|
|
@mouseleave="onMouseleaveContent"
|
2022-07-31 00:05:26 +03:00
|
|
|
@click="onClickContent"
|
2022-06-12 16:31:56 +03:00
|
|
|
>
|
|
|
|
|
<slot
|
|
|
|
|
name="content"
|
|
|
|
|
class="popover-inner"
|
|
|
|
|
:close="hidePopover"
|
2025-01-18 21:21:09 +02:00
|
|
|
:resize="resizePopover"
|
2022-06-12 16:31:56 +03:00
|
|
|
/>
|
|
|
|
|
</div>
|
|
|
|
|
</transition>
|
2022-05-20 00:56:23 +03:00
|
|
|
</teleport>
|
2022-06-12 16:31:56 +03:00
|
|
|
</span>
|
2020-02-28 16:39:47 +00:00
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script src="./popover.js" />
|
|
|
|
|
|
2025-01-12 01:46:10 +02:00
|
|
|
<style src="./popover.scss" lang="scss"></style>
|