mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-11 08:07:15 +00:00
* fix: anchor overlays to their host pane and mute them when hidden * fix: portal hosted modals and menus into the pane they anchor to * fix: keep non-listening dialogs off the overlay stack * fix: drop the topmost gate from confirmation dialogs * fix: silence overlays in a collapsed preview panel * fix: keep overlays live in a full-screen preview of a collapsed session
50 lines
1.1 KiB
Svelte
50 lines
1.1 KiB
Svelte
<script lang="ts">
|
|
import { createEventDispatcher } from 'svelte'
|
|
import { Button, Badge } from '../common'
|
|
import Modal from '../common/modal/Modal.svelte'
|
|
import Portal from '../Portal.svelte'
|
|
import { overlayPortalTarget } from '$lib/components/common/overlayHost.svelte'
|
|
|
|
interface Props {
|
|
open?: boolean
|
|
inputs?: string[]
|
|
}
|
|
|
|
let { open = $bindable(false), inputs = [] }: Props = $props()
|
|
|
|
const dispatch = createEventDispatcher()
|
|
|
|
const portalTarget = overlayPortalTarget('body')
|
|
</script>
|
|
|
|
<Portal target={portalTarget()}>
|
|
<Modal
|
|
bind:open
|
|
on:confirmed={() => {
|
|
open = false
|
|
dispatch('confirmed')
|
|
}}
|
|
on:canceled
|
|
title="Windmill AI wants to add the following inputs to the flow:"
|
|
>
|
|
<ul class=" list-disc pl-5">
|
|
{#each inputs as input}
|
|
<li>{input}</li>
|
|
{/each}
|
|
</ul>
|
|
|
|
{#snippet actions()}
|
|
<Button
|
|
on:click={() => {
|
|
open = false
|
|
dispatch('confirmed')
|
|
}}
|
|
color="light"
|
|
size="sm"
|
|
>
|
|
<span class="inline-flex gap-2">Add <Badge color="dark-green">Enter</Badge></span>
|
|
</Button>
|
|
{/snippet}
|
|
</Modal>
|
|
</Portal>
|