17 dépôts
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 est une bibliothèque JavaScript et un wrapper programmatique pour générer et appliquer des animations CSS3 keyframe et des transformations 3D. Il fournit un outil pour créer des séquences d'animation complexes sans avoir besoin d'écrire manuellement des règles de feuille de style. La bibliothèque permet la création d'animations en enchaînant des transformations d'échelle, de rotation, de translation et d'inclinaison. Ces séquences générées peuvent être enregistrées sous des noms uniques pour être réutilisées sur plusieurs éléments. Le système gère le cycle de vie de l'animation via des fonctions de rappel qui se déclenchent lorsqu'une séquence visuelle se termine. Il inclut également un vérificateur de compatibilité pour vérifier si l'environnement du navigateur prend en charge les transformations 3D et les spécifications de keyframe requises.
Includes callback functions that trigger specifically when a CSS animation sequence completes.
Moti est un framework d'animation multiplateforme et un moteur d'animation piloté par l'état, conçu pour créer des transitions visuelles et des effets de mouvement cohérents sur mobile et web. Il fonctionne comme une bibliothèque et un wrapper d'animation sur thread natif, utilisant un système de valeurs partagées pour synchroniser les changements d'état entre la couche logique et le moteur de rendu natif. Le framework se distingue par ses outils de transition de mise en page et sa capacité à exécuter des séquences et des boucles complexes sur le thread natif afin de maintenir des fréquences d'images élevées. Il fournit un système pour orchestrer des animations fluides d'entrée et de sortie lors de l'apparition ou de la disparition de composants dans l'interface utilisateur. Le projet couvre un large éventail de capacités de mouvement, incluant des transitions de style basées sur l'état avec des variantes nommées, le séquençage d'images clés (keyframes) et des animations interactives mappant les entrées utilisateur à des plages visuelles. Il inclut également des composants spécialisés pour les états de chargement animés, tels que les placeholders scintillants.
Executes custom logic functions immediately after an animation sequence completes its playback.
Mixitup is a dependency-free DOM element animation library and grid layout engine. It serves as a client-side content filter and data-driven UI controller designed to manage the smooth visual transition of HTML elements during insertion, removal, and sorting operations. The system specializes in creating interactive gallery interfaces and dynamic content filtering. It allows for the reorganization of elements using custom attributes or random sequences, while synchronizing the arrangement and visibility of interface elements with an underlying data model. Beyond filtering and sorting, the li
Provides hooks that execute custom logic at specific stages of an animation sequence.
Ce projet est un guide technique et une bibliothèque d'implémentation pour les effets visuels avancés et les animations accélérées par le matériel utilisant le framework Core Animation sur iOS. Il fournit une référence complète pour créer des graphiques animés haute performance, un rendu graphique personnalisé et la construction de moteurs 3D utilisant des transformations de perspective et la manipulation de l'axe Z. La collection se distingue par un accent profond sur l'optimisation du rendu GPU et la performance graphique. Elle couvre des stratégies avancées pour maintenir des fréquences d'images élevées, telles que la réduction du rendu hors écran via l'optimisation des chemins d'ombre, l'implémentation du chargement et de la décompression asynchrones d'images, et l'utilisation de la mise en cache de contenu basée sur la rastérisation. Le projet couvre un large éventail de domaines de capacité, incluant la construction d'objets 3D, la génération de systèmes de particules et l'intégration de données de capteurs d'appareils pour des animations basées sur la physique. Il détaille également le contrôle complexe d'animation, allant de l'interpolation d'images clés et des courbes de timing personnalisées au nettoyage manuel d'animation et à l'ajustement de la vitesse de lecture. Une couverture supplémentaire inclut la gestion de la mise en page spatiale, le dessin de formes vectorielles et des diagnostics pour mesurer l'utilisation du GPU et analyser les performances de rendu.
Provides hooks to execute custom logic immediately after a set of layer animations completes.
react-flip-toolkit est un framework de transition basé sur les coordonnées et une bibliothèque d'animation de mise en page pour React. Il utilise une technique de "magic-move" pour calculer les positions des éléments, empêchant les sauts brusques lors des changements de mise en page grâce à l'interpolation et à la physique. La bibliothèque fournit un moteur de mouvement basé sur des ressorts qui utilise des paramètres de rigidité et d'amortissement pour créer un mouvement naturel pour les changements de mise en page et de style. Elle inclut des outils spécialisés pour les transitions d'éléments partagés, qui coordonnent les mouvements visuels à travers les changements de route côté client pour maintenir la continuité entre différentes pages. Le système couvre les animations de transition de mise en page et l'interpolation de propriétés hors mise en page. Il gère le timing via le séquençage d'animation décalé et inclut la neutralisation de transformation pour empêcher les éléments enfants de se déformer lorsqu'un conteneur parent change d'échelle. Le framework fournit également des déclencheurs de rappel d'animation pour exécuter une logique à des jalons spécifiques du cycle de vie.
Executes custom logic callbacks at specific animation milestones, such as completion or appearance.
react-flip-move est une bibliothèque d'animation React conçue pour animer les transitions d'éléments DOM et le réordonnancement de listes en utilisant la technique FLIP. Elle fonctionne comme un composant de transition de mise en page et un utilitaire de transition DOM pour créer des mouvements fluides lors des changements d'état. La bibliothèque se spécialise dans les transitions accélérées matériellement pour les éléments ajoutés, supprimés ou réordonnés au sein d'une liste. Elle utilise le suivi de position par boîte englobante (bounding-box) pour calculer les décalages de mise en page et prend en charge le timing d'animation échelonné pour créer des flux visuels séquencés. Sa surface de capacité couvre l'orchestration des transitions de mise en page, y compris les animations d'entrée et de sortie, les séquences de montage initial et la préservation des dimensions du conteneur pour éviter les sauts de mise en page. Le système fournit également des rappels de cycle de vie et des options de configuration pour la détection de position personnalisée et les définitions d'éléments enveloppants.
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.