feat(VirtualList): add animate logic
This commit is contained in:
@@ -13,6 +13,8 @@ import { createVirtualizer } from '$shared/lib';
|
|||||||
import { ScrollArea } from '$shared/shadcn/ui/scroll-area';
|
import { ScrollArea } from '$shared/shadcn/ui/scroll-area';
|
||||||
import { cn } from '$shared/shadcn/utils/shadcn-utils';
|
import { cn } from '$shared/shadcn/utils/shadcn-utils';
|
||||||
import type { Snippet } from 'svelte';
|
import type { Snippet } from 'svelte';
|
||||||
|
import { flip } from 'svelte/animate';
|
||||||
|
import { quintOut } from 'svelte/easing';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
/**
|
/**
|
||||||
@@ -149,9 +151,11 @@ $effect(() => {
|
|||||||
data-index={item.index}
|
data-index={item.index}
|
||||||
class="absolute top-0 left-0 w-full"
|
class="absolute top-0 left-0 w-full"
|
||||||
style:transform="translateY({item.start}px)"
|
style:transform="translateY({item.start}px)"
|
||||||
|
animate:flip={{ delay: 0, duration: 300, easing: quintOut }}
|
||||||
>
|
>
|
||||||
{#if item.index < items.length}
|
{#if item.index < items.length}
|
||||||
{@render children({
|
{@render children({
|
||||||
|
// TODO: Fix indenation rule for this case
|
||||||
item: items[item.index],
|
item: items[item.index],
|
||||||
index: item.index,
|
index: item.index,
|
||||||
isVisible: item.isVisible,
|
isVisible: item.isVisible,
|
||||||
|
|||||||
Reference in New Issue
Block a user