15 dépôts
Mechanisms that coordinate scrolling between a parent container and its internal scrollable children.
Distinct from Scroll Orchestrators: Distinct from general scroll orchestrators by focusing specifically on the interception and hand-off between nested scrollable views.
Explore 15 awesome GitHub repositories matching user interface & experience · Nested Scroll Coordination. Refine with filters or upvote what's useful.
SmartRefreshLayout is a pull-to-refresh framework and gesture interaction library for Android. It provides a scroll view wrapper that integrates interactive refresh headers and loading footers into mobile user interfaces, coordinating synchronized scrolling and touch events. The project features a pluggable architecture for custom refresh indicators and secondary refresh mechanisms. It utilizes damping-based gesture translation and overscroll rebound mechanisms to manage the tactile feel of drag resistance and physics-based animations. The library covers a broad range of interaction logic, i
Synchronizes touch events between a parent container and internal scrollable views to prevent movement conflicts.
Better-scroll is a JavaScript scroll library and touch interaction engine designed to create high-performance scrollable areas in web browsers. It functions as a modular UI component framework that provides the foundation for building complex scrollable elements. The library is distinguished by a plugin-based architecture that allows the injection of custom methods and event hooks. This system enables the creation of specialized interface components such as carousel sliders, scrollable picker inputs, and draggable element systems. The project covers a wide range of mobile web interaction pat
Coordinates scrolling behavior between parent and child containers to prevent conflicting scroll events.
AndroidSlidingUpPanel is an Android custom view component and sliding panel library used to create draggable overlays that slide up from the bottom of an application screen. It functions as a nested scrolling UI framework that coordinates touch events between a draggable panel and its internal scrollable content. The library distinguishes itself through a parallax effect implementation that shifts background content at different speeds than the foreground panel. It supports the definition of intermediate anchor points to create partial-view states and allows for transition physics customizati
Coordinates touch events to ensure internal content scrolls only after the sliding panel is fully expanded.
Flutter Deer is a Flutter practice project that demonstrates realistic application patterns across Android and iOS. It showcases how to structure a Flutter app with modular routing, reactive state management using Provider, and a centralized network layer built with Dio for structured API calls and error handling. The project also includes integration and accessibility testing that simulates real user interactions to verify UI behavior and screen-reader compatibility. The project differentiates itself by providing a comprehensive showcase of custom UI components and interactions, including ca
Builds complex scrollable layouts using Sliver widgets to compose sticky headers, parallax, and nested scrolling effects.
XPopup is an Android popup UI framework and overlay component library used to build customizable dialogs, bottom sheets, and overlay views. It serves as a dialog engine for creating high-performance popup views and provides a toolkit for executing entrance and exit transitions. The library is distinguished by its ability to render ultra-long, high-resolution images using memory-efficient loading and drag-to-dismiss interactions. It supports displaying overlay views while an application is in the background through system overlay permissions. The framework covers anchor-based positioning for
Coordinates scroll events between popup content and parent containers to manage focus and keyboard behavior.
iframe-resizer is a JavaScript tool that automatically adjusts the dimensions of an iframe to match the size of its internal content. It functions as a cross-domain communication bridge, allowing the exchange of data and the triggering of actions between a parent window and an embedded iframe across different origins. The project includes a nested iframe coordinator to synchronize dimensions between parent pages and inner frames, preventing scrollbars in complex nested structures. It also provides an accessibility utility to manage iframe titles and attributes, ensuring embedded content is co
Coordinates dimensions and scrolling between parent pages and inner frames to eliminate nested scrollbars.
Flukit est une suite de toolkits fonctionnels pour Flutter, fournissant des wrappers d'animation, des outils de débogage de mise en page, des kits d'interaction de défilement et une bibliothèque de composants UI réutilisables et d'utilitaires visuels. Le projet se distingue par un outil de débogage de mise en page dédié pour inspecter les contraintes parentes et capturer les logs système directement dans l'interface. Il fournit également des wrappers d'animation spécialisés pour faire pivoter, mettre à l'échelle et faire glisser des composants enfants, ainsi qu'un kit d'interaction de défilement incluant des mécanismes de pull-to-refresh, des carrousels et des en-têtes sliver flexibles. La bibliothèque couvre un large éventail de capacités, incluant des effets visuels comme le filigrane de contenu et les dégradés, ainsi que des fonctionnalités interactives comme les vues zoomables et l'interception d'événements tactiles. Elle inclut un système pour mettre en cache les composants enfants dans les zones défilables et une file d'attente de notifications synchronisée pour gérer les mises à jour d'état pendant les phases de mise en page.
Implements a sliver-based scroll architecture to coordinate flexible headers and complex painting during scrolling.
FloatingPanel est un composant Swift UI pour iOS qui fournit une feuille inférieure interactive et un gestionnaire de panneaux. Il fonctionne comme un contrôleur de présentation modale qui permet aux développeurs d'afficher des conteneurs flottants pour du contenu connexe et des utilitaires à côté d'un écran principal. Le système utilise un système d'ancrage magnétique pour accrocher les panneaux à des positions verticales prédéfinies et prend en charge la gestion de plusieurs panneaux au sein d'une seule vue. Il synchronise la position du panneau avec le comportement de défilement des vues internes pour coordonner le mouvement pendant l'interaction de l'utilisateur. Le projet couvre des capacités pour le suivi de position basé sur les gestes, les calculs de mise en page pilotés par l'état et la répartition d'événements basée sur les délégués. Ces éléments sont utilisés pour implémenter des affichages de contenu contextuel, des modales personnalisées et des interfaces interactives basées sur des cartes.
Coordinates scrolling behavior between the floating panel container and its internal scrollable content.
Ce projet est un composant d'interface utilisateur multiplateforme pour React Native qui fournit une fenêtre d'overlay personnalisable pour présenter du contenu au-dessus des vues existantes de l'application. Il sert de bibliothèque pour gérer des composants modaux animés, des arrière-plans et des transitions mobiles. Le composant se distingue par la prise en charge d'animations d'entrée et de sortie personnalisées et d'arrière-plans hautement configurables, permettant l'ajustement de l'opacité, de la couleur et l'intégration d'éléments personnalisés. Il implémente également la fermeture par gestes, permettant aux utilisateurs de fermer les overlays via des tapotements sur l'arrière-plan ou des balayages dans des directions spécifiées. La bibliothèque gère les défis d'interface spécifiques au mobile, notamment le positionnement adaptatif du clavier pour garder le contenu visible lorsque le clavier logiciel s'ouvre, et la coordination des gestes de balayage avec le contenu défilable interne. Elle fournit en outre des rappels de cycle de vie qui se déclenchent pendant les séquences d'animation et les événements système.
Coordinates scrolling between the internal modal content and the external swipe-to-close gesture detection.
CoordinatorTabLayout est un composant d'interface utilisateur Android personnalisé qui intègre la navigation par onglets avec des en-têtes pliables et une synchronisation de conteneur de pagination. Construit pour le système de vue Android natif, il implémente des modèles Material Design pour créer des écrans immersifs où le contenu de l'en-tête se réduit au fur et à mesure que l'utilisateur fait défiler. Le composant synchronise les événements de sélection d'onglets avec un conteneur de pagination pour mettre à jour le contenu visible. Il gère la coordination entre une barre de navigation par onglets et un en-tête pliable, garantissant que les événements de défilement et les transitions de page restent alignés. La mise en page inclut des capacités pour la gestion de l'apparence de la barre système, permettant au contenu de s'afficher derrière les barres d'état et de navigation translucides. Il fournit également un système de configuration pour l'imagerie d'en-tête, prenant en charge à la fois les ressources statiques et le chargement asynchrone d'images réseau piloté par des écouteurs.
Implements nested scroll coordination between a collapsing header and scrollable content to create synchronized folding animations.
body-scroll-lock est une bibliothèque de verrouillage du défilement DOM et un contrôleur de défilement multi-navigateur. Elle fournit des utilitaires pour désactiver le défilement de la page tout en maintenant la possibilité de défilement pour des éléments imbriqués spécifiques sur différents navigateurs et appareils. Le projet fonctionne comme un utilitaire de prévention des décalages de mise en page (layout shift) et un gestionnaire de défilement pour modales d'interface web. Il inclut des mécanismes pour ajouter du padding au corps de page (body) lorsque les barres de défilement sont supprimées, afin d'éviter les scintillements horizontaux et les décalages de contenu. La bibliothèque couvre la gestion du défilement pour la navigation mobile et les interactions modales, permettant à des conteneurs spécifiques de rester défilables tandis que le reste du corps du document est figé.
Enables specific nested containers to remain scrollable while the main document body is frozen.
fluttereasyrefresh est une bibliothèque pour implémenter le pull-to-refresh et la pagination par défilement infini dans les composants de liste Flutter. Elle fournit les composants fonctionnels et la logique nécessaires pour déclencher des rechargements de données via des gestes de traction vers le bas et récupérer des blocs de données supplémentaires via des déclencheurs de traction vers le haut. Le projet présente une architecture d'indicateurs découplée qui permet des styles visuels personnalisables, des animations thématisées et un positionnement flexible des en-têtes et pieds de page. Il inclut un contrôleur centralisé qui permet la gestion programmatique des états de rafraîchissement et de chargement indépendamment des gestes de l'utilisateur. La bibliothèque couvre la gestion du défilement via une physique et une inertie personnalisables, ainsi qu'une synchronisation des données paginées pour automatiser le chargement des données en fonction des index de page. Elle offre également une intégration pour les vues à défilement imbriquées afin de coordonner les positions des indicateurs au sein d'une hiérarchie de vues.
Wraps scrollable widgets to intercept notifications and coordinate indicator positions within nested view hierarchies.
Smooth-scrollbar is a customizable JavaScript library that replaces native browser scrollbars and scrolling behavior on target DOM elements with inertial momentum physics. It provides consistent cross-browser scrolling interfaces, hardware-accelerated visual translations, and dynamic thumb positioning. The library supports nested scroll container management, allowing outer containers to continue scrolling automatically when inner scrollable areas reach their boundary edges. It features a modular plugin architecture that enables third-party extensions to hook into core scroll events, track upd
Coordinates nested scrolling by propagating remaining scroll delta to parent containers when inner boundaries are reached.
React Native Modalize is a customizable bottom sheet component designed for mobile applications. It functions as a navigation and interface utility that allows users to access secondary content or settings through slide-up panels without leaving their current screen context. The library distinguishes itself by processing touch events and swipe gestures directly on the UI thread, ensuring responsive interaction across different mobile devices. It utilizes a portal-based rendering approach to position modal content above all other application elements, while its internal logic synchronizes scro
Coordinates scrolling between the parent modal container and internal scrollable children to ensure fluid interaction.
Modal bottom sheet is a cross-platform mobile UI framework plugin for Flutter that renders advanced modal bottom sheets and interactive overlay components. It provides a specialized routing mechanism for custom route-based modal presentations, layout utilities for edge-to-edge safe area inset handling, gesture interception systems for nested scroll view coordination, and navigation structures for sequential modal overlay stacking. The library supports platform-adaptive widget styling that dynamically switches between Material Design and iOS Cupertino visual guidelines based on the host platfo
Coordinates touch scrolling gestures between outer modal containers and internal scrollable content.