17 مستودعات
Hooks that execute custom logic at specific stages of an animation sequence.
Explore 17 awesome GitHub repositories matching user interface & experience · Animation Lifecycle Callbacks. Refine with filters or upvote what's useful.
This project is a declarative motion framework and JavaScript animation engine designed to transition CSS properties, SVG attributes, and DOM elements. It provides a comprehensive set of tools for creating complex, multi-part motion sequences by synchronizing animations, timers, and callbacks into a single, unified timeline. The library distinguishes itself through a robust timeline-based sequence orchestrator that allows for precise timing, label-based control, and hierarchical nesting of animations. It also features a physics-driven interaction library that enables draggable elements with c
Attach custom functions to lifecycle events to execute logic precisely when an animation starts, updates, or finishes.
Skrollr is a dependency-free scroll-driven animation engine and cross-platform frontend library. It functions as a toolkit for linking CSS properties and HTML attributes to scroll positions to create synchronized animations, specifically providing utilities for the interpolation of SVG attributes. The library enables the creation of parallax scrolling and interactive web storytelling by mapping scroll offsets to specific style values. It allows for the development of non-linear movement and dynamic SVG effects through the use of custom HTML attributes that define keyframes. The system covers
Provides hooks to execute custom logic at specific markers within the scroll-to-render pipeline.
lottie-react-native is a React Native animation library and cross-platform vector animation engine used to render high-quality animations exported from After Effects via the Lottie file format. It functions as a Lottie animation player that allows mobile applications to display hardware-accelerated animations that maintain visual quality across different screen resolutions. The library serves as a dynamic animation controller, enabling the manipulation of playback, color filters, and text layers in real time. It provides the ability to change animation colors and visuals by applying filters t
Includes lifecycle hooks that trigger custom logic when animations finish loading or complete a playback cycle.
lottie-react-native is a library for rendering Lottie JSON animations as native graphics within a cross-platform mobile framework. It serves as a JSON-based animation renderer that parses design-exported files into high-performance vector animations on mobile devices. The framework uses a GPU-accelerated vector animation implementation to offload rendering to the device processor, reducing CPU load to maintain smooth motion. It provides a cross-platform motion framework for controlling animation playback, layout scaling, and dynamic color modifications across different mobile screens. The li
Triggers custom callback functions at specific animation lifecycle stages, such as when an animation finishes.
Vivus is a lightweight JavaScript library designed to animate the drawing of vector graphics within web browsers. It functions as a specialized motion framework that renders and animates complex illustrations by progressively revealing SVG path strokes. The library enables the creation of fluid, programmatic drawing effects for icons and decorative elements. By manipulating path lengths and synchronizing updates with the browser refresh rate, it provides a controlled method for applying motion to static vector assets. The engine supports custom timing and sequencing through declarative easin
Provides lifecycle hooks that trigger custom functions at specific animation milestones for orchestrating multi-step visual sequences.
React is a JavaScript library for building user interfaces through the composition of modular, self-contained components. It employs a declarative programming model where developers describe the desired visual state, and the library automatically manages the underlying document updates and state synchronization. By utilizing a virtual representation of the document, it calculates and applies minimal changes to the browser, ensuring efficient rendering even in complex applications. The library distinguishes itself through a sophisticated scheduling system that manages rendering work in increme
Provides lifecycle callbacks to manipulate transition effects directly using browser APIs.
tween.js is a JavaScript animation engine and numeric interpolation library. It is designed to calculate intermediate values between a start and end state over time, using easing functions to create smooth transitions for numeric values and object properties. The project functions as both an animation sequence manager and an easing library, allowing for the coordination of concurrent animation groups and the chaining of multiple transitions. It provides tools for managing the rate of change through acceleration and deceleration functions. The library covers a broad range of motion capabiliti
Includes hooks that execute custom logic at specific stages, such as start or completion, of an animation.
tsparticles is a JavaScript particle animation library and configuration-driven visual effects engine used to create customizable effects, confetti, and interactive backgrounds using HTML5 Canvas. It functions as a plugin-based graphics engine and a web component animation engine, allowing for the generation of complex behaviors and themes through structured JSON configuration objects. The project provides a cross-framework animation wrapper with dedicated compatible components for integrating effects into React, Vue, Angular, and Svelte. Its modular architecture allows users to extend the en
Includes an event system to trigger callbacks once the animation container has successfully initialized.
elevator.js is a lightweight JavaScript library that adds a playful, elevator-themed scroll-to-top button to a webpage. When clicked, it smoothly animates the page back to the top while playing a looping elevator music track in the background, masking the transition and adding a whimsical touch to the user experience. The library goes beyond a simple scroll-to-top button by offering configurable scroll duration, the ability to scroll to any specified DOM element with optional vertical padding, and callback hooks that fire user-defined functions at the start and end of the animation. This allo
Fires user-defined functions at the start and end of the scroll animation.
React Move is a declarative animation library for React that animates components by interpolating between start and end states with configurable timing and easing. It provides data-driven transitions for single elements, groups, lists, and SVG elements, supporting staggered timing, custom interpolation for non-numeric values like colors and paths, and drag-and-drop reordering of list items. The library distinguishes itself through its support for custom interpolation functions that replace default numeric interpolation, keyed array reconciliation for tracking items as they enter, update, or l
Fires user-defined functions at transition start, interruption, and completion points during animation.
bounce.js هي مكتبة JavaScript وغلاف برمجي لتوليد وتطبيق رسوم متحركة CSS3 وتحويلات ثلاثية الأبعاد. توفر أداة لإنشاء تسلسلات رسوم متحركة معقدة دون الحاجة إلى كتابة قواعد ورقة أنماط يدوية. تسمح المكتبة بإنشاء رسوم متحركة عن طريق ربط تحويلات القياس، والدوران، والإزاحة، والميل. يمكن حفظ هذه التسلسلات المولدة تحت أسماء فريدة لإعادة استخدامها عبر عناصر متعددة. يدير النظام دورة حياة الرسوم المتحركة من خلال وظائف رد الاتصال (callback) التي يتم تشغيلها عند اكتمال تسلسل مرئي. كما يتضمن مدقق توافق للتحقق مما إذا كانت بيئة المتصفح تدعم التحويلات ثلاثية الأبعاد ومواصفات الإطارات الرئيسية المطلوبة.
Includes callback functions that trigger specifically when a CSS animation sequence completes.
Moti هو إطار عمل للرسوم المتحركة عبر المنصات ومحرك رسوم متحركة يعتمد على الحالة، مصمم لإنشاء انتقالات مرئية وتأثيرات حركية متسقة على تطبيقات الجوال والويب. يعمل كمكتبة وواجهة للرسوم المتحركة على مستوى الخيط الأصلي (native-thread)، ويستفيد من نظام القيم المشتركة لمزامنة تغييرات الحالة بين طبقة المنطق ومحرك العرض الأصلي. يتميز إطار العمل بأدوات انتقالات التخطيط والقدرة على تنفيذ تسلسلات وحلقات معقدة على الخيط الأصلي للحفاظ على معدلات إطارات عالية. كما يوفر نظاماً لتنسيق رسوم الدخول والخروج السلسة عند دخول المكونات إلى واجهة المستخدم أو خروجها منها. يغطي المشروع مجموعة واسعة من إمكانيات الحركة، بما في ذلك انتقالات الأنماط القائمة على الحالة باستخدام متغيرات مسماة، وتسلسل الإطارات الرئيسية (keyframes)، والرسوم المتحركة التفاعلية التي تربط مدخلات المستخدم بنطاقات مرئية. كما يتضمن مكونات متخصصة لحالات التحميل المتحركة، مثل تأثيرات الوميض (shimmering placeholders).
Executes custom logic functions immediately after an animation sequence completes its playback.
Mixitup هي مكتبة رسوم متحركة لعناصر DOM ومحرك تخطيط شبكة خالٍ من التبعيات. تعمل كأداة تصفية محتوى جانب العميل ووحدة تحكم واجهة مستخدم قائمة على البيانات مصممة لإدارة الانتقال البصري السلس لعناصر HTML أثناء عمليات الإدراج والإزالة والفرز. يتخصص النظام في إنشاء واجهات معرض تفاعلية وتصفية محتوى ديناميكي. يسمح بإعادة تنظيم العناصر باستخدام سمات مخصصة أو تسلسلات عشوائية، مع مزامنة ترتيب ورؤية عناصر الواجهة مع نموذج بيانات أساسي. بعيداً عن التصفية والفرز، تغطي المكتبة إدارة عناصر DOM، بما في ذلك الإدراج والإزالة الديناميكية للأهداف. توفر قدرات لتحريك تغيير حجم الحاوية، وتحديد تأثيرات رسوم متحركة مخصصة، واستخدام تداخلات غير خطية لظهور العناصر.
Provides hooks that execute custom logic at specific stages of an animation sequence.
هذا المشروع هو دليل تقني ومكتبة تنفيذ للتأثيرات البصرية المتقدمة والرسوم المتحركة المسرعة بالأجهزة باستخدام إطار عمل Core Animation على iOS. يوفر مرجعاً شاملاً لإنشاء رسومات متحركة عالية الأداء، وعرض رسومي مخصص، وبناء محركات ثلاثية الأبعاد باستخدام تحويلات المنظور ومعالجة المحور Z. تتميز المجموعة بتركيز عميق على تحسين عرض GPU وأداء الرسومات. وتغطي استراتيجيات متقدمة للحفاظ على معدلات إطارات عالية، مثل تقليل العرض خارج الشاشة عبر تحسين مسار الظل، وتنفيذ تحميل وفك ضغط الصور غير المتزامن، واستخدام التخزين المؤقت للمحتوى القائم على التنقيط (rasterization). يغطي المشروع مجموعة واسعة من مجالات القدرة، بما في ذلك بناء الكائنات ثلاثية الأبعاد، وإنشاء نظام الجسيمات، ودمج بيانات مستشعر الجهاز للرسوم المتحركة القائمة على الفيزياء. كما يفصل التحكم المعقد في الرسوم المتحركة، بدءاً من استيفاء الإطارات الرئيسية ومنحنيات التوقيت المخصصة إلى مسح الرسوم المتحركة اليدوي وتعديل سرعة التشغيل. تشمل التغطية الإضافية إدارة التخطيط المكاني، ورسم أشكال المتجهات، وتشخيصات لقياس استخدام GPU وتحليل أداء العرض.
Provides hooks to execute custom logic immediately after a set of layer animations completes.
react-flip-toolkit هو إطار عمل للانتقالات القائمة على الإحداثيات ومكتبة رسوم متحركة للتخطيط لـ React. يستخدم تقنية "الحركة السحرية" لحساب مواضع العناصر، مما يمنع القفزات المزعجة أثناء تغييرات التخطيط من خلال الاستيفاء والفيزياء. توفر المكتبة محرك حركة قائماً على الزنبرك (Spring-based) يستخدم إعدادات الصلابة والتخميد لإنشاء حركة طبيعية لتغييرات التخطيط والنمط. وتتضمن أدوات متخصصة لانتقالات العناصر المشتركة، والتي تنسق الحركات البصرية عبر تغييرات المسار في جانب العميل للحفاظ على الاستمرارية بين الصفحات المختلفة. يغطي النظام رسوم الانتقال للتخطيط واستيفاء الخصائص غير المتعلقة بالتخطيط. ويدير التوقيت من خلال تسلسل الرسوم المتحركة المتداخلة ويتضمن تحييد التحويل (Transform neutralization) لمنع العناصر الفرعية من التشوه عند تغيير حجم الحاوية الأصلية. كما يوفر إطار العمل مشغلات استدعاء (Callbacks) لتنفيذ المنطق في مراحل محددة من دورة الحياة.
Executes custom logic callbacks at specific animation milestones, such as completion or appearance.
react-flip-move هي مكتبة رسوم متحركة لـ React مصممة لتحريك انتقالات عناصر DOM وإعادة ترتيب القوائم باستخدام تقنية FLIP. تعمل كمكون لانتقال التخطيط وأداة لانتقال DOM لإنشاء حركة سلسة أثناء تغييرات الحالة. تتخصص المكتبة في الانتقالات المسرعة بالأجهزة للعناصر عند إضافتها أو إزالتها أو إعادة ترتيبها داخل قائمة. وتستخدم تتبع موضع الصندوق المحيط (bounding-box) لحساب تحولات التخطيط وتدعم توقيت الرسوم المتحركة المتداخل لإنشاء تدفقات بصرية متسلسلة. تغطي إمكانياتها تنسيق انتقال التخطيط، بما في ذلك رسوم الدخول والخروج، وتسلسلات التحميل الأولية، والحفاظ على أبعاد الحاوية لمنع قفزات التخطيط. يوفر النظام أيضاً استدعاءات دورة الحياة وخيارات التكوين لاكتشاف الموضع المخصص وتعريفات عناصر الغلاف.
Provides hooks that execute custom logic at the start and end of animation sequences.
This library is a declarative framework for creating complex motion sequences and visual transitions within Flutter applications. It provides a unified interface for orchestrating interface element transformations, property updates, and animation lifecycles without requiring manual controller management or boilerplate code. The framework distinguishes itself through a fluent builder pattern that allows developers to chain multiple independent motion effects into a single execution pipeline. It supports advanced visual customization by integrating custom fragment shaders for GPU-accelerated re
Executes custom logic at specific points during a motion sequence to coordinate application state changes.