Move Transition to <Render>

This commit is contained in:
Ryan Gossiaux
2021-12-20 22:55:35 -08:00
parent 7ff28492a2
commit aa3017990d
3 changed files with 55 additions and 3 deletions

View File

@@ -4,6 +4,19 @@
import TransitionRoot, {
hasTransitionContext,
} from "./TransitionRoot.svelte";
import { forwardEventsBuilder } from "$lib/internal/forwardEventsBuilder";
import { get_current_component } from "svelte/internal";
import type { SupportedAs } from "$lib/internal/elements";
import type { HTMLActionArray } from "$lib/hooks/use-actions";
const forwardEvents = forwardEventsBuilder(get_current_component(), [
"beforeEnter",
"beforeLeave",
"afterEnter",
"afterLeave",
]);
export let as: SupportedAs = "div";
export let use: HTMLActionArray = [];
let hasTransition = hasTransitionContext();
let hasOpen = hasOpenClosed();
@@ -12,6 +25,8 @@
{#if !hasTransition && hasOpen}
<TransitionRoot
{...$$props}
{as}
use={[...use, forwardEvents]}
on:afterEnter
on:afterLeave
on:beforeEnter
@@ -22,6 +37,8 @@
{:else}
<TransitionChild
{...$$props}
{as}
use={[...use, forwardEvents]}
on:afterEnter
on:afterLeave
on:beforeEnter