21 repository-uri
Utilities for programmatically controlling scroll positions and viewport navigation in automated tests.
Distinct from Scroll Areas: Distinct from Scroll Areas: focuses on active, programmatic scroll manipulation for testing rather than UI container styling.
Explore 21 awesome GitHub repositories matching user interface & experience · Programmatic Scrolling. Refine with filters or upvote what's useful.
fullPage.js is a JavaScript full-screen scrolling library and layout engine used to create websites composed of vertical sections and horizontal slides that snap to the viewport. It provides a system for organizing web content into full-screen pages with automatic snapping behavior. The library distinguishes itself through a WebGL transition framework and visual storytelling tools, enabling cinematic effects such as 3D rotations, parallax backgrounds, fading, and water distortion during navigation. It also features a responsive adaptation system that can switch from automatic snapping to stan
Streams through vertical or horizontal slides automatically using programmatic scrolling controls.
react-virtualized is a library of components for rendering massive lists and tables by drawing only the elements visible in the viewport. It provides specialized layout managers including a windowed grid component and a dynamic height list manager. The project includes a masonry layout engine for packing items of varying heights and widths, as well as an infinite scroll interface for incrementally fetching and appending data. The library covers a broad range of virtualization capabilities, including frozen grid elements, reverse list rendering, and synchronized viewport scrolling. It also su
Links the scroll positions of multiple separate containers so they move in unison.
xi-editor is a high-performance text editor core written in Rust. It employs a client-server architecture that separates the backend editor logic from the user interface, allowing diverse frontends to communicate with the core via a standardized protocol. The project is distinguished by its use of rope-based text buffers for efficient manipulation of large documents and a collaborative engine powered by conflict-free replicated data types to synchronize concurrent edits. It further features an extensible plugin system that integrates external binaries and third-party tools through JSON-based
Tracks the visible scroll region and view dimensions to synchronize the rendered state and calculate wrapping.
This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu
Programmatically moves the viewport to align with specific widgets to ensure they are reachable in the UI.
iscroll is a JavaScript smooth scrolling library and web interaction framework. It provides a 2D web panning controller and a CSS transform zoom engine to manage inertial scrolling, panning, and zooming for web elements across different devices. The project enables the implementation of custom scrollbar interfaces and navigation maps that track the current viewport position. It supports the creation of interactive web carousels with element snapping, web parallax effects, and content scaling via pinch-to-zoom or mouse-wheel inputs. The library covers a broad range of interaction capabilities
Allows jumping the scroll position to a specific target element using programmatic calls.
Opentui is a terminal user interface framework for building interactive command line applications. It provides a component-based system featuring a flexbox layout engine, a virtual node component tree, and a low-level 2D cell array renderer. The project is distinguished by a sophisticated keyboard binding engine that maps complex multi-stroke sequences and chords to named commands using prioritized, reactive layers. It also implements a plugin architecture that allows external modules to inject custom UI components into designated layout slots and extend input logic at runtime. Its capabilit
Provides utilities to programmatically scroll nested child elements into the visible viewport.
Agent-S is a multimodal AI agent and LLM desktop automation framework designed to control operating systems through graphical user interface interactions. It functions as a computer use interface, utilizing vision-language grounding to translate natural language goals into precise screen coordinates and system actions. The project differentiates itself by combining structured accessibility tree inspection with vision-based element localization. It manages cross-application workflows by mapping conceptual descriptions to physical pixels and simulating low-level keyboard and mouse events to mov
Implements programmatic vertical and horizontal scrolling using pixel deltas to navigate user interfaces.
Maestro is a declarative mobile and web UI automation framework designed for end-to-end testing. It operates by querying the native accessibility tree of an application, allowing for black-box testing without requiring source code instrumentation or platform-specific dependencies. The framework distinguishes itself through a unified command syntax that abstracts interactions across Android, iOS, and web environments. It features a dynamic synchronization engine that automatically pauses test execution to account for non-deterministic animations and network-dependent content loading, ensuring
Performs swipe gestures within specific UI containers to locate elements not reachable by full-screen scrolling.
This project provides high-performance list components for React Native that utilize a view-recycling rendering engine. It is designed to display large datasets by reusing existing components instead of destroying and recreating them, which reduces memory usage and prevents blank cells during fast scrolling. The library distinguishes itself through a specialized virtualized list manager and support for masonry grid layouts, which allow for multiple columns with varying item heights. It includes a type-based recycling system that ensures the correct component structure is reused for specific d
Provides commands to programmatically move the list to specific pixel offsets with animation support.
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
Moves the viewport to any specified DOM element with optional vertical padding and smooth animation.
Scrollama is a JavaScript library for scroll-driven storytelling that uses the browser's native IntersectionObserver API to trigger step-based callbacks and animations as the user scrolls through a page. It pins graphic elements using CSS sticky positioning while scrolling through associated text steps, enabling side-by-side narrative experiences without JavaScript-driven layout calculations. The library provides a configurable offset threshold system that accepts a single global offset or per-element data-attribute offsets to define the viewport position that triggers step events. It reports
Allows setting unique viewport offsets for individual step elements via data attributes.
Această bibliotecă JavaScript de smooth scrolling este un utilitar frontend și un controller de mișcare a viewport-ului, conceput pentru a anima tranzițiile către link-uri ancoră. Aceasta interceptează click-urile standard pe link-uri pentru a înlocui salturile instantanee cu o mișcare fluidă către elementele țintă. Biblioteca oferă tipare de easing configurabile și controale de viteză pentru a gestiona accelerația și decelerarea. Include un mecanism pentru a anula imediat animațiile active și suportă declanșarea programatică a scroll-ului prin apeluri directe de funcții. Instrumentul gestionează offset-urile de poziționare pentru a preveni ascunderea conținutului țintă în spatele header-elor fixe și sincronizează bara de adrese a browserului în timpul tranzițiilor. De asemenea, dispune de un sistem de callback bazat pe evenimente care declanșează efecte secundare atunci când animațiile de scroll încep, se încheie sau sunt întrerupte.
Enables programmatic viewport movement to specific DOM elements via JavaScript function calls.
Swup este o bibliotecă de tranziție a paginilor și un încărcător de pagini AJAX conceput pentru a crea tranziții animate, fluide, între paginile site-urilor randate pe server. Funcționează ca un orchestrator de conținut DOM și manager de istoric al browserului, interceptând navigarea pentru a înlocui dinamic conținutul paginii și a simula o experiență de aplicație single-page. Proiectul se diferențiază printr-un sistem de ciclu de viață bazat pe hook-uri și o arhitectură de plugin-uri care permite injectarea de logică personalizată și efecte de animație. Suportă metode vizuale avansate, inclusiv morphing-ul conținutului DOM, randarea paralelă DOM pentru animații suprapuse și integrarea cu API-ul nativ al browserului View Transitions. Biblioteca acoperă o gamă largă de capabilități, inclusiv gestionarea navigării client-side, caching-ul paginilor bazat pe memorie și preîncărcarea paginilor în fundal pentru a optimiza performanța. De asemenea, oferă restaurarea completă a poziției de scroll, optimizări de accesibilitate pentru cititoarele de ecran și instrumente pentru sincronizarea metadatelor head-ului documentului și execuția scripturilor în timpul tranzițiilor.
Applies custom attributes to target elements to enable CSS styling when they are scrolled into view.
Simpl este o bibliotecă de exemple HTML, CSS și JavaScript care oferă o colecție de demonstrații funcționale minimale ale tehnologiilor web de bază și ale API-urilor native ale browserului. Servește ca implementare de referință și galerie de modele pentru dezvoltarea frontend, oferind exemple practice despre cum să implementați funcționalități web comune. Proiectul prezintă o gamă largă de capabilități ale browserului, inclusiv comunicarea web în timp real via WebSockets și WebRTC, tehnici de design web responsiv pentru layout-uri adaptive și implementarea fluxurilor de lucru offline folosind service workers. De asemenea, oferă demonstrații pentru stocarea client-side folosind IndexedDB și magazine de tip cheie-valoare bazate pe browser. Biblioteca acoperă o suprafață largă de capabilități web, inclusiv integrarea hardware cu senzorii dispozitivului și geolocalizarea, capturarea și redarea media avansată pentru audio și video și utilizarea canvas-ului pentru randarea graficii 2D și 3D. Ariile suplimentare includ manipularea datelor, programarea asincronă și utilizarea API-urilor browserului pentru monitorizarea performanței și a conectivității la rețea.
Scroll the page until a specific element becomes visible within the current viewport.
This is a React animation library providing a collection of components for creating choreographed motion, complex transitions, and SVG morphing. It functions as a motion design specification and a UI component animation wrapper system used to apply 3D transforms, Bezier curves, and entry-exit transitions to interface elements. The project includes a scroll-driven animation suite for synchronizing UI movements and parallax effects with the viewport position, as well as an SVG motion framework for animating paths, drawing lines incrementally, and interpolating coordinates for shape morphing. I
Programmatically scrolls the viewport smoothly to target elements while managing active visibility states.
mescroll este o bibliotecă JavaScript de infinite scroll și un manager de scroll pentru web mobil, conceput pentru a implementa tipare de pull-to-refresh și pull-up-loading. Oferă un sistem pentru gestionarea scroll-ului tactil, gestionarea stărilor de paginare și integrarea acestor comportamente în aplicații Vue. Biblioteca se distinge prin suport specializat pentru interfețele de chat, permițând încărcarea datelor în ordine inversă și capacitatea de a injecta date într-o direcție inversă pentru a simula istoricul mesajelor. Include, de asemenea, un cache de scroll cu persistență a stării pentru a păstra offset-urile verticale și datele listei atunci când utilizatorii navighează între diferite vizualizări. Proiectul acoperă o gamă largă de capabilități de interacțiune și performanță, inclusiv suprimarea rubber-banding-ului nativ al browserului, lazy loading-ul imaginilor conștient de viewport și poziționarea programatică a scroll-ului. Oferă, de asemenea, utilitare pentru gestionarea stărilor de paginare, personalizarea UI-ului de încărcare și a stării goale, precum și implementarea navigării back-to-top.
Enables programmatic movement of the list to specific vertical coordinates with optional smooth animations.
react-scroll este o bibliotecă pentru gestionarea comportamentului de scroll fluid și imediat între elementele paginii în aplicațiile React. Aceasta funcționează ca un controller de scroll DOM, oferind un API declarativ și un set de componente pentru a anima viewport-ul către elemente țintă specifice. Biblioteca permite scroll-ul personalizat prin permiterea viewport-ului să se deplaseze către elementele țintă fie prin salturi instantanee, fie prin tranziții animate. Oferă un sistem pentru integrarea acestei logici de scroll în componente personalizate folosind mixin-uri pentru a defini declanșatoare și ținte de mișcare specifice. Proiectul acoperă navigarea în viewport și tranzițiile de focus în layout-urile aplicațiilor de tip single-page, legând acțiunile utilizatorului din componentele React de poziții specifice în cadrul paginii.
Acts as a declarative controller for programmatically moving the viewport to specific target elements.
Fixed-data-table este o bibliotecă de componente React concepută pentru randarea seturilor mari de date în interfețe de tip grid structurate și scrollabile. Funcționează ca un tabel virtualizat, optimizând performanța prin randarea doar a rândurilor vizibile în prezent în viewport. Biblioteca se distinge prin accentul pus pe menținerea contextului în timpul navigării, utilizând layout-uri cu header fix și gestionarea sincronizată a stării de scroll. Utilizează accesul la date bazat pe index pentru a mapa informațiile către coordonate specifice ale grid-ului, permițând personalizarea modulară a celulelor și configurarea flexibilă a coloanelor. Componenta suportă gestionarea cuprinzătoare a prezentării tabelului, inclusiv redimensionarea coloanelor și ajustarea înălțimii rândurilor. Oferă control programatic asupra comportamentului de scroll, permițând sincronizarea mișcării tabelului cu elemente de interfață externe sau gesturi personalizate.
Enables programmatic control over scroll positions to synchronize table movement with external interface elements or gestures.
This project is a jQuery plugin that replaces native browser scrollbars with themed, customizable versions supporting both vertical and horizontal axes. It provides a navigation layer designed to ensure unified scrolling behavior across mouse, keyboard, and touch-enabled devices. The plugin allows for the modification of scrollbar rails and draggers using CSS and pre-set themes to maintain cross-browser UI consistency. It enables control over the physical feel of navigation through adjustable momentum, snapping, and mouse-wheel acceleration. The system includes capabilities for programmatic
Implements methods to programmatically move the viewport to specific coordinates or halt active scrolling animations.
Viewers is a zero-footprint DICOMweb medical imaging viewer and a modular plugin framework. It serves as a diagnostic interface for rendering 2D and 3D medical images, providing a web-based clinical workflow engine to automate image layouts and toolsets. The project distinguishes itself through a highly extensible architecture that allows for the development of custom clinical workflows, specialized viewing modes, and the integration of external functional extensions. It includes a dedicated command line interface for managing these plugins and supports white-labeling through a comprehensive
Cornerstone links viewports so that changes to zoom or window-leveling in one view are applied to others.