17 repositorios
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 es una biblioteca de JavaScript y wrapper programático para generar y aplicar animaciones de keyframes CSS3 y transformaciones 3D. Proporciona una herramienta para crear secuencias de animación complejas sin necesidad de escribir reglas de hoja de estilo manuales. La biblioteca permite la creación de animaciones encadenando transformaciones de escala, rotación, traslación y sesgo (skew). Estas secuencias generadas pueden guardarse bajo nombres únicos para su reutilización en múltiples elementos. El sistema gestiona el ciclo de vida de la animación a través de funciones de callback que se activan cuando una secuencia visual se completa. También incluye un comprobador de compatibilidad para verificar si el entorno del navegador admite las transformaciones 3D y las especificaciones de keyframes requeridas.
Includes callback functions that trigger specifically when a CSS animation sequence completes.
Moti es un framework de animación multiplataforma y un motor de animación basado en estados, diseñado para crear transiciones visuales y efectos de movimiento consistentes tanto en móviles como en la web. Funciona como una librería y wrapper de animación en el hilo nativo que aprovecha un sistema de valores compartidos para sincronizar los cambios de estado entre la capa de lógica y el motor de renderizado nativo. El framework destaca por sus herramientas de transición de diseño y su capacidad para ejecutar secuencias y bucles complejos en el hilo nativo, manteniendo altas tasas de fotogramas. Proporciona un sistema para orquestar animaciones fluidas de entrada y salida a medida que los componentes aparecen o desaparecen de la interfaz de usuario. El proyecto abarca una amplia gama de capacidades de movimiento, incluyendo transiciones de estilo basadas en estados mediante variantes con nombre, secuenciación de fotogramas clave (keyframes) y animaciones interactivas que mapean las entradas del usuario a rangos visuales. También incluye componentes especializados para estados de carga animados, como marcadores de posición con efecto de brillo (shimmer).
Executes custom logic functions immediately after an animation sequence completes its playback.
Mixitup es una librería de animación de elementos DOM sin dependencias y motor de layout de rejilla. Sirve como un controlador de UI basado en datos y filtro de contenido del lado del cliente diseñado para gestionar la transición visual suave de elementos HTML durante operaciones de inserción, eliminación y ordenamiento. El sistema se especializa en la creación de interfaces de galería interactivas y filtrado de contenido dinámico. Permite la reorganización de elementos utilizando atributos personalizados o secuencias aleatorias, mientras sincroniza la disposición y visibilidad de los elementos de la interfaz con un modelo de datos subyacente. Más allá del filtrado y ordenamiento, la librería cubre la gestión de elementos DOM, incluyendo la inserción y eliminación dinámica de objetivos. Proporciona capacidades para animar el redimensionamiento de contenedores, definir efectos de animación personalizados y utilizar escalonamientos no lineales para las apariciones de elementos.
Provides hooks that execute custom logic at specific stages of an animation sequence.
This project is a technical guide and implementation library for advanced visual effects and hardware-accelerated animations using the Core Animation framework on iOS. It provides a comprehensive reference for creating high-performance motion graphics, custom graphic rendering, and the construction of 3D engines using perspective transforms and Z-axis manipulation. The collection distinguishes itself through a deep focus on GPU rendering optimization and graphics performance. It covers advanced strategies to maintain high frame rates, such as reducing offscreen rendering via shadow path optim
Provides hooks to execute custom logic immediately after a set of layer animations completes.
react-flip-toolkit es un framework de transición basado en coordenadas y una biblioteca de animación de diseño para React. Utiliza una técnica de "magic-move" para calcular las posiciones de los elementos, evitando saltos bruscos durante los cambios de diseño mediante interpolación y física. La biblioteca proporciona un motor de movimiento basado en resortes que utiliza configuraciones de rigidez y amortiguación para crear un movimiento natural para los cambios de diseño y estilo. Incluye herramientas especializadas para transiciones de elementos compartidos, que coordinan movimientos visuales a través de cambios de ruta del lado del cliente para mantener la continuidad entre diferentes páginas. El sistema cubre animaciones de transición de diseño e interpolación de propiedades que no son de diseño. Gestiona el tiempo mediante secuencias de animación escalonadas e incluye neutralización de transformaciones para evitar que los elementos hijos se deformen cuando un contenedor padre cambia de escala. El framework también proporciona disparadores de callback de animación para ejecutar lógica en hitos específicos del ciclo de vida.
Executes custom logic callbacks at specific animation milestones, such as completion or appearance.
react-flip-move es una librería de animación para React diseñada para animar transiciones de elementos DOM y reordenamiento de listas utilizando la técnica FLIP. Funciona como un componente de transición de diseño y una utilidad de transición DOM para crear movimientos fluidos durante los cambios de estado. La librería se especializa en transiciones aceleradas por hardware para elementos a medida que se añaden, eliminan o reordenan dentro de una lista. Emplea el seguimiento de posición de cajas delimitadoras (bounding-box) para calcular los cambios de diseño y admite tiempos de animación escalonados para crear flujos visuales secuenciados. Su superficie de capacidades cubre la orquestación de transiciones de diseño, incluyendo animaciones de entrada y salida, secuencias de montaje inicial y la preservación de las dimensiones del contenedor para evitar saltos en el diseño. El sistema también proporciona callbacks de ciclo de vida y opciones de configuración para la detección de posición personalizada y definiciones de elementos envolventes.
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.