Animation
Gentle entrances for cards and any content.
Text and Markdown example
1function Example() {
2 const [replay, setReplay] = useState(0);
3 return <div style={{ display: "grid", gap: 20 }}>
4 <Animation preset="fade-up" duration={600} delay={0} replayKey={replay}>
5 <Card><CardContent style={{ padding: 24 }}>A gentle entrance</CardContent></Card>
6 </Animation>
7 <Button type="button" variant="outline" onClick={() => setReplay(replay + 1)}>Replay animation</Button>
8 </div>;
9}How to use it
Choose fade, fade-up, fade-down, or scale. duration and delay are in milliseconds. The entrance runs on mount; change replayKey to replay it. Styles apply to the outer wrapper and motion to the inner wrapper.
disabled and the reduced-motion preference show the final state. This API covers entrances, not exits or scroll-driven animations.
Import
1import { Animation } from "@kivora/nextjs";Interactive examples run inside a component with "use client". The playground's Copy button includes the imports needed for the current example.
API reference 0.3.0
Types from the installed published version, including component properties and common HTML attributes. “Optional” does not imply a default value; omitting a property lets the component decide.
| Property | Type | Description |
|---|---|---|
aria-label | string | Accessible name of the control. |
children | ReactNode | Content or child elements of the component. |
className | string | Additional CSS classes to customize the element. |
defaultChecked | boolean | Initial selection of the control. |
defaultValue | string | number | readonly string[] | Initial value when the component manages its own state. |
delay | number | Delay before the entrance, in milliseconds. |
disabled | boolean | Disable control interaction or animation motion. |
duration | number | Animation duration in milliseconds. |
id | string | Element identifier; associates labels and descriptions. |
onChange | ChangeEventHandler<HTMLDivElement, Element> | Change event. Check the type: some controls return an object, others a DOM event. |
onClick | MouseEventHandler<HTMLDivElement> | Action performed when the element is activated. |
onSubmit | SubmitEventHandler<HTMLDivElement> | Form submission event. |
preset | "fade" | "fade-up" | "fade-down" | "scale" | Entrance effect: fade, fade-up, fade-down, or scale. |
replayKey | string | number | Change this value to replay the entrance animation. |
role | AriaRole | Semantic role of the element. Keep the default role unless a change is justified. |
style | CSSProperties | React inline styles. |
tabIndex | number | Keyboard focus order and availability. |
title | string | Title or supplementary information. |
TypeScript definition
Review each component's properties and published declaration. Native and accessibility attributes are inherited from the element specified by its type.
Animation18 properties
1declare function Animation({ preset, duration, delay, replayKey, disabled, children, ...props }: AnimationProps): React.JSX.Element;