Files
aragrp/lib/block-motion.ts
ar.badieiandCursor c2376b3b9e
Build & Push Docker Image / build (push) Has been cancelled
feat: redesign landing page with brand system and section blocks
Refresh the homepage around new hero/services/roadmap sections, shared design tokens, and updated brand assets.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 17:00:55 +03:30

40 lines
931 B
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { Transition, Variants } from "motion/react";
/** Standard scroll-reveal ease (ui-ux-pro-max: power2.out-equivalent). */
export const blockEase = [0.22, 1, 0.36, 1] as const;
/** ~400–500ms section entrance — transform + opacity only. */
export const blockRevealTransition: Transition = {
duration: 0.5,
ease: blockEase,
};
/**
* Trigger when the block approaches ~85% from the top of the viewport.
* `once` keeps motion purposeful and avoids reverse jitter on scroll-up.
*/
export const blockViewport = {
once: true,
amount: 0.2,
margin: "0px 0px -10% 0px",
} as const;
export const blockRevealContainer: Variants = {
hidden: {},
visible: {
transition: {
staggerChildren: 0.08,
delayChildren: 0.04,
},
},
};
export const blockRevealItem: Variants = {
hidden: { opacity: 0, y: 24 },
visible: {
opacity: 1,
y: 0,
transition: blockRevealTransition,
},
};