21 repositorios
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.
Esta biblioteca de scroll suave para JavaScript es una utilidad frontend y controlador de movimiento del viewport diseñada para animar transiciones hacia enlaces de anclaje. Intercepta los clics estándar en enlaces para reemplazar los saltos instantáneos con un movimiento fluido hacia los elementos de destino. La biblioteca proporciona patrones de suavizado de movimiento configurables y controles de velocidad para gestionar la aceleración y desaceleración. Incluye un mecanismo para cancelar animaciones activas inmediatamente y admite el disparo programático de scroll mediante llamadas directas a funciones. La herramienta maneja offsets de posicionamiento para evitar que el contenido de destino quede oculto detrás de cabeceras fijas y sincroniza la barra de direcciones del navegador durante las transiciones. También cuenta con un sistema de callbacks basado en eventos que dispara efectos secundarios cuando las animaciones de scroll comienzan, concluyen o son interrumpidas.
Enables programmatic viewport movement to specific DOM elements via JavaScript function calls.
Swup es una librería de transición de página y cargador de páginas AJAX diseñado para crear transiciones animadas y fluidas entre páginas en sitios web renderizados por el servidor. Funciona como un orquestador de contenido DOM y gestor de historial del navegador, interceptando la navegación para reemplazar el contenido de la página dinámicamente y simular una experiencia de aplicación de una sola página. El proyecto se diferencia mediante un sistema de ciclo de vida basado en hooks y una arquitectura de plugins que permite la inyección de lógica personalizada y efectos de animación. Soporta métodos visuales avanzados incluyendo el morphing de contenido DOM, renderizado DOM paralelo para animaciones superpuestas e integración con la API nativa de View Transitions del navegador. La librería cubre una amplia gama de capacidades, incluyendo la gestión de navegación del lado del cliente, caché de páginas basada en memoria y precarga de páginas en segundo plano para optimizar el rendimiento. También proporciona una restauración completa de la posición de desplazamiento, optimizaciones de accesibilidad para lectores de pantalla y herramientas para sincronizar metadatos de cabecera de documento y ejecución de scripts a través de transiciones.
Applies custom attributes to target elements to enable CSS styling when they are scrolled into view.
Simpl es una librería de ejemplos de HTML, CSS y JavaScript que proporciona una colección de demostraciones funcionales mínimas de tecnologías web centrales y APIs nativas del navegador. Sirve como implementación de referencia y galería de patrones para el desarrollo frontend, ofreciendo ejemplos prácticos de cómo implementar funciones web comunes. El proyecto muestra una amplia gama de capacidades del navegador, incluyendo comunicación web en tiempo real vía WebSockets y WebRTC, técnicas de diseño web responsivo para diseños adaptativos y la implementación de flujos de trabajo offline utilizando service workers. También proporciona demostraciones para almacenamiento del lado del cliente utilizando IndexedDB y almacenes de clave-valor basados en el navegador. La librería cubre una amplia superficie de capacidades web, incluyendo integración de hardware con sensores de dispositivos y geolocalización, captura y reproducción avanzada de medios para audio y video, y el uso de canvas para renderizado de gráficos en dos y tres dimensiones. Áreas adicionales incluyen manipulación de datos, programación asíncrona y el uso de APIs del navegador para monitorizar el rendimiento y la conectividad de red.
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 es una librería de scroll infinito en JavaScript y gestor de scroll para web móvil diseñado para implementar patrones de pull-to-refresh y carga al deslizar hacia arriba. Proporciona un sistema para manejar el scroll táctil, gestionar estados de paginación e integrar estos comportamientos dentro de aplicaciones Vue. La librería se distingue por su soporte especializado para interfaces de chat, permitiendo la carga de datos en orden inverso y la capacidad de inyectar datos en dirección inversa para simular historiales de mensajes. También incluye una caché de scroll con persistencia de estado para preservar los desplazamientos verticales y los datos de la lista cuando los usuarios navegan entre diferentes vistas. El proyecto cubre un amplio rango de capacidades de interacción y rendimiento, incluyendo la supresión del efecto de rebote nativo del navegador, carga diferida de imágenes consciente del viewport y posicionamiento de scroll programático. Además, proporciona utilidades para gestionar estados de paginación, personalizar la interfaz de carga y estados vacíos, e implementar navegación de regreso al inicio.
Enables programmatic movement of the list to specific vertical coordinates with optional smooth animations.
react-scroll es una biblioteca para gestionar el comportamiento de desplazamiento suave e inmediato entre elementos de página en aplicaciones React. Funciona como un controlador de scroll del DOM, proporcionando una API declarativa y un conjunto de componentes para animar el viewport hacia elementos objetivo específicos. La biblioteca permite un desplazamiento personalizado al permitir que el viewport se mueva a los elementos objetivo mediante saltos instantáneos o transiciones animadas. Proporciona un sistema para integrar esta lógica de desplazamiento en componentes personalizados utilizando mixins para definir disparadores y objetivos de movimiento específicos. El proyecto cubre la navegación del viewport y las transiciones de enfoque dentro de diseños de aplicaciones de una sola página (SPA), vinculando las acciones del usuario en los componentes de React a posiciones específicas dentro de la página.
Acts as a declarative controller for programmatically moving the viewport to specific target elements.
Fixed-data-table es una librería de componentes de React diseñada para renderizar grandes conjuntos de datos dentro de interfaces de cuadrícula estructuradas y desplazables. Funciona como una tabla virtualizada, optimizando el rendimiento al renderizar solo las filas actualmente visibles dentro de la ventana gráfica. La librería se distingue por su enfoque en mantener el contexto durante la navegación, utilizando diseños de encabezado fijo y gestión de estado de desplazamiento sincronizado. Emplea acceso a datos basado en índices para mapear información a coordenadas de cuadrícula específicas, permitiendo la personalización modular de celdas y una configuración flexible de columnas. El componente admite una gestión integral de la presentación de tablas, incluyendo el cambio de tamaño de columnas y ajustes de altura de filas. Proporciona control programático sobre el comportamiento de desplazamiento, permitiendo la sincronización del movimiento de la tabla con elementos de interfaz externos o gestos personalizados.
Enables programmatic control over scroll positions to synchronize table movement with external interface elements or gestures.
Este proyecto es un plugin de jQuery que reemplaza las barras de desplazamiento nativas del navegador con versiones temáticas y personalizables que soportan ejes verticales y horizontales. Proporciona una capa de navegación diseñada para asegurar un comportamiento de desplazamiento unificado a través de dispositivos con mouse, teclado y pantalla táctil. El plugin permite la modificación de los rieles y deslizadores de la barra de desplazamiento utilizando CSS y temas preestablecidos para mantener la consistencia de la UI entre navegadores. Permite el control sobre la sensación física de la navegación a través de impulso ajustable, snapping y aceleración de la rueda del mouse. El sistema incluye capacidades para el posicionamiento programático de contenido, sincronización de enlaces internos y detección de visibilidad de elementos. Puede cambiar automáticamente la orientación de la barra de desplazamiento según las dimensiones del viewport y proporciona un mecanismo para activar funciones definidas por el usuario cuando el desplazamiento alcanza hitos específicos.
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.