import preview from "#.storybook/preview";
import { AnimationParams } from "animejs";
import { Component, createSignal, For } from "solid-js";
import { AnimeGroup } from "../../src/ts/components/common/anime/AnimeGroup";
const meta = preview.meta({
title: "Common/Anime/AnimeGroup",
component: AnimeGroup as Component,
parameters: {
layout: "centered",
},
tags: ["autodocs"],
});
const itemStyle = {
padding: "12px 24px",
"background-color": "var(--sub-alt-color)",
color: "var(--text-color)",
"border-radius": "8px",
"margin-bottom": "4px",
};
export const StaggeredFadeIn = meta.story({
render: () => (
}
animation={
{ opacity: 1, translateY: 0, duration: 400 } as AnimationParams
}
stagger={80}
>
First
Second
Third
Fourth
Fifth
),
});
export const ReverseDirection = meta.story({
render: () => (
}
animation={
{ opacity: 1, translateX: 0, duration: 300 } as AnimationParams
}
stagger={100}
direction="reverse"
>
Item 1
Item 2
Item 3
Item 4
),
});
export const CenterDirection = meta.story({
render: () => (
}
animation={{ opacity: 1, scale: 1, duration: 400 } as AnimationParams}
stagger={80}
direction="center"
class="flex gap-2"
>
1
2
3
4
5
),
});
export const WithExitAnimation = meta.story({
render: () => {
const [items, setItems] = createSignal(["A", "B", "C", "D"]);
return (
}
animation={
{ opacity: 1, translateX: 0, duration: 300 } as AnimationParams
}
exit={
{ opacity: 0, translateX: 15, duration: 200 } as AnimationParams
}
stagger={60}
>
{(item) => Item {item}
}
);
},
});