fix(frontend): fix conditional portal (#1868)

This commit is contained in:
Faton Ramadani
2023-07-12 18:31:09 +02:00
committed by GitHub
parent fe2464cd07
commit 8345b389a6
3 changed files with 20 additions and 2 deletions
@@ -178,6 +178,7 @@
on:filter={handleFilter}
on:clear={onClear}
on:change={onChange}
inAppEditor={true}
items={listItems}
listAutoWidth={resolvedConfig.fullWidth}
inputStyles={SELECT_INPUT_DEFAULT_STYLE.inputStyles}
@@ -0,0 +1,11 @@
<script lang="ts">
import Portal from 'svelte-portal'
export let condition = false
</script>
{#if condition}
<Portal><slot /></Portal>
{:else}
<slot />
{/if}
@@ -13,12 +13,18 @@
import ClearIcon from './ClearIcon.svelte'
import LoadingIcon from './LoadingIcon.svelte'
import ConditionalPortal from './ConditionalPortal.svelte'
import ConditionalPortalGlobal from './ConditionalPortalGlobal.svelte'
import { extractCustomProperties } from '$lib/utils'
export let portal = true
export let justValue = null // read-only
export let inAppEditor = false
let PortalWrapper = inAppEditor ? ConditionalPortal : ConditionalPortalGlobal
export let filter = _filter
export let getItems = _getItems
@@ -607,7 +613,7 @@
use:floatingRef
>
{#if listOpen}
<ConditionalPortal condition={portal}>
<PortalWrapper condition={portal}>
<div
style={extractCustomProperties(containerStyles)}
use:floatingContent
@@ -654,7 +660,7 @@
{/if}
{#if $$slots['list-append']}<slot name="list-append" />{/if}
</div>
</ConditionalPortal>
</PortalWrapper>
{/if}
<span aria-live="polite" aria-atomic="false" aria-relevant="additions text" class="a11y-text">