awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoServidor MCPAcerca deCómo clasificamosPrensa
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

54 repositorios

Awesome GitHub RepositoriesScroll Restoration

Utilities for tracking and restoring the scroll position of containers during page navigation.

Distinct from Scroll State Controllers: Distinct from Scroll State Controllers: focuses on the restoration of scroll position across navigation events rather than active scroll manipulation.

Explore 54 awesome GitHub repositories matching user interface & experience · Scroll Restoration. Refine with filters or upvote what's useful.

Awesome Scroll Restoration GitHub Repositories

Encuentra los mejores repositorios con IA.Buscaremos los repositorios que mejor coincidan usando IA.
  • streamich/react-useAvatar de streamich

    streamich/react-use

    43,974Ver en GitHub↗

    react-use is a collection of reusable state and effect hooks for managing common logic in React applications. It serves as a comprehensive library for implementing state management patterns and wrapping various browser APIs into consistent hook interfaces. The project provides a specialized toolkit for DOM interaction and browser API integration, allowing components to track element dimensions, manage cookies, and monitor hardware sensors. It includes a suite of animation and timing utilities for physics-based numeric interpolation and frame-synced state updates. Beyond basic state managemen

    Deno-inspired prevention of the body element from scrolling when modals or overlays are active.

    TypeScript
    Ver en GitHub↗43,974
  • alvarotrigo/fullpage.jsAvatar de alvarotrigo

    alvarotrigo/fullPage.js

    35,437Ver en GitHub↗

    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

    Modifies scrolling configurations in real time to switch between automatic snapping and manual scrolling.

    JavaScriptfullpagefullscreenjavascript
    Ver en GitHub↗35,437
  • livewire/livewireAvatar de livewire

    livewire/livewire

    23,448Ver en GitHub↗

    Livewire is a full-stack framework for PHP that enables the development of reactive, dynamic user interfaces using server-side classes and templates. By bridging the gap between server-side logic and client-side DOM updates, it allows developers to build interactive web applications without writing custom JavaScript. The framework operates as a component-based library, where modular units encapsulate interface logic, state, and event handling directly on the server. The framework distinguishes itself through a reactive architecture that automatically synchronizes state between the browser and

    Tracks and restores the scroll offset of scrollable containers during page navigation to ensure users remain at their previous viewing location.

    PHP
    Ver en GitHub↗23,448
  • vuejs/vue-routerAvatar de vuejs

    vuejs/vue-router

    18,898Ver en GitHub↗

    Vue.js Client-Side Router is a routing library that maps browser URLs to Vue.js components to enable the creation of single-page applications. It functions as a navigation engine that manages browser history and URL state to allow page transitions without full browser reloads. The system utilizes a nested route manager to render hierarchical views that match complex URL structures. It includes navigation guard middleware to intercept, validate, or redirect route transitions before components are rendered. A client-side history handler synchronizes application state with the browser URL using

    Remembers vertical scroll offsets and restores them automatically when navigating back through history.

    JavaScript
    Ver en GitHub↗18,898
  • dcloudio/muiAvatar de dcloudio

    dcloudio/mui

    13,474Ver en GitHub↗

    mui is a mobile UI component framework and native-like web UI kit designed for building high-performance mobile web interfaces. It functions as a mobile web performance framework and gesture-based interface library to eliminate browser lag and mimic the behaviors and animations of native mobile applications. The framework focuses on implementing common mobile UX patterns, including pull-to-refresh functionality, swipe-to-action menus, and sliding side navigation. It provides specialized tools for gesture-driven interface development to ensure an immediate visual response to touch interactions

    Moves the document view to specific coordinates over a defined duration for precise positioning.

    JavaScriptandroidcssdcloud
    Ver en GitHub↗13,474
  • uidotdev/usehooksAvatar de uidotdev

    uidotdev/usehooks

    11,394Ver en GitHub↗

    This project is a comprehensive library of reusable React hooks designed to simplify browser API integration, state management, and component lifecycle tracking. It provides a declarative interface for managing complex browser interactions, allowing developers to encapsulate imperative logic into modular, composable functions that integrate directly with the component lifecycle. The library distinguishes itself by offering specialized utilities for asynchronous data orchestration, including built-in caching, retry logic, and loading state management. It also features advanced performance opti

    Locks document scroll position during active modal or overlay displays to prevent background movement.

    MDXastrobloghooks
    Ver en GitHub↗11,394
  • 47ng/nuqsAvatar de 47ng

    47ng/nuqs

    10,591Ver en GitHub↗

    nuqs is a TypeScript library for managing React component state through the browser's URL query string. It provides a type-safe hook-based approach that synchronizes component state with the address bar, enabling shareable and bookmarkable application states. The library handles parsing and serializing URL query parameters into typed JavaScript values, supporting integers, floats, booleans, dates, and custom types with bijectivity verification. The library distinguishes itself through its comprehensive approach to URL state management, combining batch URL updates that merge multiple parameter

    Prevents scroll reset when updating URL query parameters, preserving user scroll position.

    TypeScriptquery-paramsreactsearch-params
    Ver en GitHub↗10,591
  • microsoft/windows-universal-samplesAvatar de microsoft

    microsoft/Windows-universal-samples

    9,696Ver en GitHub↗

    This repository is a comprehensive collection of reference implementations and sample libraries for the Universal Windows Platform. It provides practical examples of how to use Windows Runtime APIs to build cross-device applications, including detailed guidance on XAML-based declarative user interfaces and DirectX-integrated rendering. The project distinguishes itself by providing a wide array of hardware integration suites, covering low-level communication with USB, Serial, I2C, SPI, and GPIO peripherals. It includes specialized implementations for mixed reality holographic rendering, advanc

    Saves and restores the exact scroll offset of a list to maintain the user's place during navigation.

    JavaScript
    Ver en GitHub↗9,696
  • noah-nuebling/mac-mouse-fixAvatar de noah-nuebling

    noah-nuebling/mac-mouse-fix

    9,220Ver en GitHub↗

    This project is a macOS input remapper and mouse customizer designed to assign custom actions and system-wide gestures to mouse button presses and movements. It functions as a mouse gesture manager and scroll enhancer, enabling the emulation of multi-finger trackpad motions and providing omnidirectional precision scrolling. The utility distinguishes itself by allowing independent scroll direction settings for a mouse without altering global trackpad configurations. It further implements a momentum-based algorithm to replace discrete scroll steps with smooth, fluid movement. The software cove

    Enables toggling precision scrolling or zooming by holding specific keyboard modifier keys.

    Objective-C3rd-party-mouseinvert-scrollingmac-mouse
    Ver en GitHub↗9,220
  • whatwg/htmlAvatar de whatwg

    whatwg/html

    9,163Ver en GitHub↗

    This repository contains the HTML specification, which defines the core standards for web page structuring, content organization, and document rendering. It establishes the fundamental algorithms for state-machine-based tokenization, tree construction for the document object model, and origin-based security isolation. The specification provides a framework for defining custom elements with independent lifecycles and registries. It also details the requirements for cross-document communication, session history management, and the synchronization of interface properties with content attributes.

    Determines whether the browser automatically restores the scroll position during navigation.

    HTMLcanvaseventsourcehtml
    Ver en GitHub↗9,163
  • kunminx/jetpack-mvvm-best-practiceAvatar de KunMinX

    KunMinX/Jetpack-MVVM-Best-Practice

    8,928Ver en GitHub↗

    This project is a reference implementation of the Model-View-ViewModel pattern using Android Jetpack components. It serves as an architecture template and layering guide, dividing application code into view, domain, and data layers to ensure a unidirectional flow of dependencies. The implementation focuses on state management and configuration change handling. It demonstrates how to synchronize UI updates across multiple screens using shared state containers and preserves application state during transitions between portrait and landscape orientations. The codebase covers a broad surface of

    Implements patterns to preserve application state during device orientation changes.

    Javajetpackmvvm
    Ver en GitHub↗8,928
  • airbnb/epoxyAvatar de airbnb

    airbnb/epoxy

    8,556Ver en GitHub↗

    Epoxy is an Android library for building complex RecyclerView screens using a model-driven approach. It generates RecyclerView adapter models at compile time from annotated custom views, data binding layouts, or view holders, eliminating the manual boilerplate typically associated with view holders and adapters. The library provides a diffing engine that automatically compares model lists and applies minimal updates with animations for insertions, removals, and moves. The library distinguishes itself through its controller-based model building, where a controller class with a buildModels meth

    Restores scroll position of nested carousels and lists after data updates or configuration changes.

    Java
    Ver en GitHub↗8,556
  • northwoodssoftware/gojsAvatar de NorthwoodsSoftware

    NorthwoodsSoftware/GoJS

    8,447Ver en GitHub↗

    GoJS is a JavaScript diagramming library and canvas-based visualization engine used to build interactive flowcharts, organizational charts, and network diagrams. It functions as a data-driven framework that binds JavaScript data models to visual elements, enabling bidirectional synchronization between the underlying data and the graphical representation. The library features a comprehensive graph layout engine capable of automatically arranging nodes into trees, grids, circles, or force-directed layouts. It distinguishes itself through a template-based system for generating visual parts and a

    Locks the diagram to prevent scrolling, zooming, or dragging parts outside a fixed area.

    HTMLcanvaschartcharts
    Ver en GitHub↗8,447
  • juliencrn/usehooks-tsAvatar de juliencrn

    juliencrn/usehooks-ts

    7,834Ver en GitHub↗

    usehooks-ts is a comprehensive collection of reusable TypeScript-based hooks designed for managing state, DOM events, and browser API interactions within React applications. It provides a typed library of functions to handle common frontend patterns and side effects. The project distinguishes itself by offering specialized hooks for browser integration, including tools for interacting with the system clipboard, managing local and session storage persistence, and loading external scripts. It also includes utilities for responsive UI development, such as tracking media queries, window dimension

    Implements a utility to disable page scrolling when modal overlays or full-screen menus are active.

    TypeScripthookhooksmdx
    Ver en GitHub↗7,834
  • inertiajs/inertiaAvatar de inertiajs

    inertiajs/inertia

    7,708Ver en GitHub↗

    Inertia is a server-driven frontend framework designed to create monolithic single page applications. It acts as a state synchronization protocol and client-side routing bridge, allowing developers to build interactive experiences using modern JavaScript component libraries while keeping routing and controllers on the server. This approach eliminates the need for a separate REST or GraphQL API layer by passing data from server controllers to frontend components as props via JSON payloads. The framework distinguishes itself by utilizing adapter-based integration to link various backend environ

    Resets the view to the top on navigation and restores previous scroll positions when traversing browser history.

    TypeScript
    Ver en GitHub↗7,708
  • metafizzy/infinite-scrollAvatar de metafizzy

    metafizzy/infinite-scroll

    7,489Ver en GitHub↗

    Infinite Scroll is a JavaScript library that automatically loads and appends the next page of content when a user scrolls near the bottom of a container, or optionally when they click a button. It provides scroll-based pagination that fetches and inserts subsequent pages of content, with URL-driven content loading that determines next page URLs from selectors, templates, or custom functions. The library integrates with browser history, updating the URL and history state as new pages load while preserving scroll position so each page state is bookmarkable and refreshable. It is compatible with

    Updates the URL as the user scrolls so that refreshing or returning to a page restores the exact scroll position.

    HTMLajaxjavascript-pluginjquery-plugin
    Ver en GitHub↗7,489
  • hotwired/turboAvatar de hotwired

    hotwired/turbo

    7,343Ver en GitHub↗

    Hotwire Turbo is a server-driven navigation and HTML streaming framework that intercepts link clicks and form submissions to fetch pages in the background and replace content without full browser reloads. It provides a Turbo Frame component that scopes page regions into independent contexts, enabling partial page updates where only a specific area of the page navigates or loads content. The framework includes a page cache and morph system that stores recently visited pages for instant restoration and applies minimal DOM changes on refresh, preserving scroll position and element state. The fra

    Preserves scroll position when a page refresh occurs, preventing the page from jumping to the top.

    JavaScript
    Ver en GitHub↗7,343
  • ptomasroos/react-native-scrollable-tab-viewAvatar de ptomasroos

    ptomasroos/react-native-scrollable-tab-view

    6,945Ver en GitHub↗

    This project is a React Native UI component for implementing swipeable tab navigation. It organizes mobile app content into category tabs that users navigate through horizontal gestures or direct interaction. The system synchronizes the movement of the tab indicator with the page scroll offset. It supports the integration of custom tab bars and provides the ability to maintain independent scroll positions for each individual page. Navigation can be managed programmatically, including the ability to define initial starting pages or disable gesture-based swiping. The component also includes tr

    Maintains independent scroll positions for each tab, ensuring users return to their previous place on a page.

    JavaScriptanimatedreact-nativeswipe
    Ver en GitHub↗6,945
  • brentvatne/react-native-scrollable-tab-viewAvatar de brentvatne

    brentvatne/react-native-scrollable-tab-view

    6,944Ver en GitHub↗

    This project is a cross-platform mobile tab navigator for React Native. It provides a swipable tab interface and an animated view switcher that allows users to move between different content areas using horizontal swipe gestures. The system features a customizable tab bar component that can be styled or replaced with custom components to control the visual layout. It supports independent scroll state management, ensuring each individual page maintains its own vertical scroll position when switching views. The navigation framework handles tab transition control and adjacent page pre-rendering

    Ensures each individual tab page maintains its own vertical scroll position when switching views.

    JavaScript
    Ver en GitHub↗6,944
  • shopify/flash-listAvatar de Shopify

    Shopify/flash-list

    6,944Ver en GitHub↗

    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

    Maintains stable scroll positions by automatically adjusting offsets when content is added to the top or bottom.

    TypeScript
    Ver en GitHub↗6,944
Ant.123Siguiente
  1. Home
  2. User Interface & Experience
  3. Scroll Interaction Handlers
  4. Scroll State Controllers
  5. Scroll Restoration

Explorar subetiquetas

  • Configuration Change Scroll RestorersPersisting and restoring the scroll position of a staggered grid across configuration changes like device rotation. **Distinct from Scroll Restoration:** Distinct from Scroll Restoration: specifically handles restoration across Android configuration changes (e.g., rotation), not general page navigation.
  • Input and Form State Restoration1 sub-etiquetaRecovery of user-entered data and form values during navigation events. **Distinct from Scroll Restoration:** Extends generic scroll restoration to cover the recovery of user input and form state.
  • RecyclerView Scroll State PersistencePreserves each view's user-modified state, such as scroll position, when it scrolls off screen and back. **Distinct from Scroll Restoration:** Distinct from Scroll Restoration: focuses on preserving per-item view state across RecyclerView scrolls, not restoring container scroll position during page navigation.
  • Scroll Locking6 sub-etiquetasUtilities for disabling document scrolling during modal or overlay display. **Distinct from Scroll Restoration:** Distinct from Scroll Restoration: focuses on active scroll locking for UI overlays rather than navigation-based scroll position recovery.
  • Scroll Position Maintenance9 sub-etiquetasAutomatically adjusting or locking the scroll offset when items are added or removed to prevent visual jumps. **Distinct from Scroll Restoration:** Distinct from Scroll Restoration: focuses on real-time offset adjustment during content mutation rather than restoring state after navigation.