feat(VirtualList): add animate logic

This commit is contained in:
Ilia Mashkov
2026-02-01 11:54:40 +03:00
parent 142e4f0a19
commit 6e975e5f8e

View File

@@ -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,