@@ -76,17 +76,17 @@
|
||||
|
||||
/***** Events *****/
|
||||
const dispatch = createEventDispatcher<{
|
||||
afterEnter: null;
|
||||
afterLeave: null;
|
||||
beforeEnter: null;
|
||||
beforeLeave: null;
|
||||
introstart: null;
|
||||
introend: null;
|
||||
outrostart: null;
|
||||
outroend: null;
|
||||
}>();
|
||||
|
||||
const forwardEvents = forwardEventsBuilder(get_current_component(), [
|
||||
"beforeEnter",
|
||||
"beforeLeave",
|
||||
"afterEnter",
|
||||
"afterLeave",
|
||||
"introstart",
|
||||
"introend",
|
||||
"outrostart",
|
||||
"outroend",
|
||||
]);
|
||||
|
||||
/***** Component *****/
|
||||
@@ -112,7 +112,7 @@
|
||||
if (!isTransitioning) {
|
||||
state = TreeStates.Hidden;
|
||||
$nestingContext.unregister(id);
|
||||
dispatch("afterLeave");
|
||||
dispatch("outroend");
|
||||
}
|
||||
})
|
||||
);
|
||||
@@ -167,8 +167,8 @@
|
||||
|
||||
isTransitioning = true;
|
||||
|
||||
if (show) dispatch("beforeEnter");
|
||||
if (!show) dispatch("beforeLeave");
|
||||
if (show) dispatch("introstart");
|
||||
if (!show) dispatch("outrostart");
|
||||
|
||||
return show
|
||||
? transition(
|
||||
@@ -179,7 +179,7 @@
|
||||
enteredClasses,
|
||||
(reason) => {
|
||||
isTransitioning = false;
|
||||
if (reason === Reason.Finished) dispatch("afterEnter");
|
||||
if (reason === Reason.Finished) dispatch("introend");
|
||||
}
|
||||
)
|
||||
: transition(
|
||||
@@ -198,7 +198,7 @@
|
||||
if (!hasChildren($nesting)) {
|
||||
state = TreeStates.Hidden;
|
||||
$nestingContext.unregister(id);
|
||||
dispatch("afterLeave");
|
||||
dispatch("outroend");
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
import type { HTMLActionArray } from "$lib/hooks/use-actions";
|
||||
import { hasTransitionContext } from "./common.svelte";
|
||||
const forwardEvents = forwardEventsBuilder(get_current_component(), [
|
||||
"beforeEnter",
|
||||
"beforeLeave",
|
||||
"afterEnter",
|
||||
"afterLeave",
|
||||
"introstart",
|
||||
"introend",
|
||||
"outrostart",
|
||||
"outroend",
|
||||
]);
|
||||
|
||||
/***** Props *****/
|
||||
@@ -35,10 +35,10 @@
|
||||
{...$$props}
|
||||
{as}
|
||||
use={[...use, forwardEvents]}
|
||||
on:afterEnter
|
||||
on:afterLeave
|
||||
on:beforeEnter
|
||||
on:beforeLeave
|
||||
on:introstart
|
||||
on:introend
|
||||
on:outrostart
|
||||
on:outroend
|
||||
>
|
||||
<slot />
|
||||
</TransitionRoot>
|
||||
@@ -47,10 +47,10 @@
|
||||
{...$$props}
|
||||
{as}
|
||||
use={[...use, forwardEvents]}
|
||||
on:afterEnter
|
||||
on:afterLeave
|
||||
on:beforeEnter
|
||||
on:beforeLeave
|
||||
on:introstart
|
||||
on:introend
|
||||
on:outrostart
|
||||
on:outroend
|
||||
>
|
||||
<slot />
|
||||
</TransitionChild>
|
||||
|
||||
@@ -33,10 +33,10 @@
|
||||
} from "./common.svelte";
|
||||
import type { TRestProps } from "$lib/types";
|
||||
const forwardEvents = forwardEventsBuilder(get_current_component(), [
|
||||
"beforeEnter",
|
||||
"beforeLeave",
|
||||
"afterEnter",
|
||||
"afterLeave",
|
||||
"introstart",
|
||||
"introend",
|
||||
"outrostart",
|
||||
"outroend",
|
||||
]);
|
||||
|
||||
/***** Props *****/
|
||||
@@ -121,10 +121,10 @@
|
||||
{...$$restProps}
|
||||
{as}
|
||||
use={[...use, forwardEvents]}
|
||||
on:afterEnter
|
||||
on:afterLeave
|
||||
on:beforeEnter
|
||||
on:beforeLeave
|
||||
on:introstart
|
||||
on:introend
|
||||
on:outrostart
|
||||
on:outroend
|
||||
>
|
||||
<slot />
|
||||
</TransitionChild>
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
{#if nested}
|
||||
<Nested on:close={() => (nested = false)} />
|
||||
{/if}
|
||||
<Transition show={isOpen} on:afterLeave={() => console.log("done")}>
|
||||
<Transition show={isOpen} on:outroend={() => console.log("done")}>
|
||||
<Dialog on:close={() => (isOpen = false)}>
|
||||
<div class="fixed z-10 inset-0 overflow-y-auto">
|
||||
<div
|
||||
|
||||
@@ -215,10 +215,12 @@ This component also dispatches the following custom events, which are listened t
|
||||
|
||||
| Event name | Type of event `.detail` | Description |
|
||||
| ------------- | ----------------------- | ----------------------------------------------- |
|
||||
| `beforeEnter` | `null` | Dispatched before we start the enter transition |
|
||||
| `afterEnter` | `null` | Dispatched after we finish the enter transition |
|
||||
| `beforeLeave` | `null` | Dispatched before we start the leave transition |
|
||||
| `afterLeave` | `null` | Dispatched after we finish the leave transition |
|
||||
| `introstart` | `null` | Dispatched before we start the enter transition |
|
||||
| `introend` | `null` | Dispatched after we finish the enter transition |
|
||||
| `outrostart` | `null` | Dispatched before we start the leave transition |
|
||||
| `outroend` | `null` | Dispatched after we finish the leave transition |
|
||||
|
||||
These event names have been changed to match the names that Svelte uses for transitions, starting in version 2.0 of this library.
|
||||
|
||||
### TransitionChild
|
||||
|
||||
|
||||
@@ -42,19 +42,19 @@
|
||||
<Transition
|
||||
show={isOpen}
|
||||
class="fixed inset-0 z-10 overflow-y-auto"
|
||||
on:beforeEnter={() => {
|
||||
on:introstart={() => {
|
||||
addEvent("Before enter");
|
||||
}}
|
||||
on:afterEnter={() => {
|
||||
on:introend={() => {
|
||||
inputRef?.focus();
|
||||
addEvent("After enter");
|
||||
}}
|
||||
on:beforeLeave={() => {
|
||||
on:outrostart={() => {
|
||||
addEvent("Before leave (before confirm)");
|
||||
window.confirm("Are you sure?");
|
||||
addEvent("Before leave (after confirm)");
|
||||
}}
|
||||
on:afterLeave={(event) => {
|
||||
on:outroend={(event) => {
|
||||
addEvent(`After leave (before alert)`);
|
||||
window.alert("Consider it done!");
|
||||
addEvent(`After leave (after alert)`);
|
||||
|
||||
Reference in New Issue
Block a user