Files
windmill/frontend/src/lib/components/ManualPopover.svelte
T
HugoCasa 6eb1e27a74 feat: flow inputs ai gen (#3191)
* feat: flow inputs ai gen

* fix: prevent flow builder crash on AI gen

* fix: nits

* fix: adjust tab behavior
2024-02-10 19:51:44 +01:00

39 lines
892 B
Svelte

<script lang="ts">
import { createPopperActions } from 'svelte-popperjs'
import type { PopoverPlacement } from './Popover.model'
import Portal from 'svelte-portal'
import { fade } from 'svelte/transition'
import { twMerge } from 'tailwind-merge'
export let placement: PopoverPlacement = 'bottom'
const [popperRef, popperContent, getInstance] = createPopperActions({ placement })
export async function refresh() {
await getInstance()?.update()
}
export let showTooltip = false
export function open() {
showTooltip = true
}
export function close() {
showTooltip = false
}
</script>
<fragment use:popperRef>
<slot />
</fragment>
{#if showTooltip}
<Portal>
<div
use:popperContent
class={twMerge('z-[901] rounded-lg shadow-md border p-4 bg-surface', $$props.class)}
transition:fade={{ duration: 200 }}
>
<slot name="content" />
</div>
</Portal>
{/if}