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