19 مستودعات
Utilities 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.
Explore 19 awesome GitHub repositories matching user interface & experience · Scroll Locking. Refine with filters or upvote what's useful.
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.
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.
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.
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.
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.
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.
React Autosuggest is a fully controlled React component that provides an autocomplete input with a dropdown of suggestions as the user types. It delegates all state management to the parent component through callbacks, making it compatible with state management patterns like Flux or Redux. The component implements WAI-ARIA accessibility patterns, including keyboard navigation with arrow keys, Enter, and Escape, along with live region integration for screen reader announcements. The component offers extensive customization through render-prop functions, allowing developers to replace the defau
Isolates scroll within the suggestions container to prevent page scrolling at boundaries.
OpenLogi هي أداة لتكوين الأجهزة (hardware configuration) ومُعيّن إدخال عبر التطبيقات (cross-application input mapper) تعمل محلياً ومكتوبة بلغة Rust. تتيح تخصيص الأجهزة الطرفية باستخدام بروتوكول HID++، مما يسمح للمستخدمين بإدارة إعدادات الجهاز دون الحاجة إلى حسابات سحابية أو تتبع بيانات. يتميز النظام بنهج "المحلي أولاً" (local-first)، حيث يخزن جميع تكوينات الأجهزة وتعيينات الأزرار في ملفات نصية بسيطة. يدعم هذا التصميم التعديل اليدوي والتحكم في الإصدار مع ضمان إرسال الأوامر مباشرة إلى ذاكرة الجهاز. تغطي المجموعة عدة مجالات لإدارة الأجهزة، بما في ذلك إعادة تعيين الأزرار المادية وتكوين إعدادات حساسية DPI. يتضمن النظام إنشاء ملفات تعريف خاصة بالتطبيقات تقوم بتبديل روابط الإدخال تلقائياً بناءً على النافذة النشطة، بالإضافة إلى عناصر تحكم لسلوك عجلة التمرير ومراقبة حالة البطارية. يتم توفير واجهة سطر أوامر لإدارة مخزون الأجهزة واسترجاع البيانات التشخيصية من الأجهزة المتصلة.
Toggles between different scrolling behaviors, such as ratchet and free-flow modes, in real time.
smartTable هو مكون شبكة بيانات وإطار عمل عرض جدول لنظام Android. يعمل كمكتبة واجهة مستخدم قائمة على التعليقات التوضيحية تستخدم علامات الفئة والحقل لتعيين نماذج البيانات تلقائياً إلى أعمدة مرئية وتعريف خصائص الجدول. يتميز المشروع بدمج عميق لجداول البيانات، حيث يوفر أدوات لاستيراد وتصدير البيانات من وإلى ملفات Excel مع الحفاظ على تنسيق الخلايا، والأنماط، والألوان، والمحاذاة. كما يتميز بنظام عرض قائم على Canvas يدعم تخطيطات شبكة معقدة مع خلايا مدمجة، ورؤوس مجمدة، وقفل الأعمدة. تغطي المكتبة مجموعة واسعة من قدرات إدارة البيانات، بما في ذلك الفرز، والتجميع، وحساب إحصائيات الأعمدة. تدير مجموعات البيانات الكبيرة من خلال الترقيم الافتراضي، وعناصر التحكم في التكبير، وتنسيق الخلايا الشرطي للحفاظ على القراءة والأداء. تم تنفيذ إطار العمل بلغة Java لتطبيقات Android.
Enables freezing of row or column indices to maintain header visibility during bidirectional scrolling.
هذا المشروع هو مجموعة شاملة من مقتطفات الكود القابلة لإعادة الاستخدام، والخطافات المخصصة، وأنماط التنفيذ لبناء واجهات المستخدم باستخدام React. يعمل كمكتبة من الأمثلة القصيرة المصممة لحل مهام التطوير الشائعة، بدءاً من إدارة الحالة إلى تكامل DOM. توفر المجموعة مجموعة واسعة من الأدوات المتخصصة للتفاعل مع واجهات برمجة تطبيقات المتصفح، بما في ذلك تتبع أبعاد النافذة، وتقييم استعلام الوسائط، ومراقبة حالة الاتصال. كما تتضمن أدلة عملية ومقتطفات لتحسين الأداء، مثل التخزين المؤقت (memoization)، والتحميل الكسول، وإلغاء ارتداد تغيير الحالة. تغطي مجالات القدرات الواسعة تنفيذ مكونات واجهة المستخدم التفاعلية مثل النوافذ المنبثقة، وشرائح العرض، والواجهات المتبوبة، بالإضافة إلى الأنماط المعمارية لجلب البيانات، واستمرار الحالة، والتحقق من التحديث غير المتزامن. تتضمن المكتبة أيضاً أدوات لإدارة النماذج، ومعالجة الأحداث، ومزامنة التوجيه عبر تتبع حالة URL.
Prevents page body scrolling when modals or overlays are active.
bootstrap-modal is a JavaScript library that extends the standard Bootstrap modal component to provide advanced resizing, stacking, and animation capabilities. It functions as an AJAX modal loader, fetching remote content and updating views asynchronously without requiring a browser page refresh. The project provides a stackable overlay manager to organize multiple overlapping windows with synchronized event handling and correct layer ordering. It also includes a responsive UI component that automatically adjusts dimensions and constraints based on the current window size. The library covers
Disables document scrolling to prevent background page movement while a modal overlay is active.
هذا المشروع هو مكتبة React لإنشاء طرق عرض منزلقة تدعم اللمس ومبدلات عرض تفاعلية. يوفر مكونات لبناء دوارات المحتوى والمتزلجات التي تدعم التنقل الأفقي أو الرأسي عبر اللمس، وإيماءات تمرير الماوس، ومدخلات لوحة المفاتيح. تتضمن المكتبة مكون متزلج افتراضي يعرض فقط طرق العرض المرئية للحفاظ على الأداء مع مجموعات المحتوى الكبيرة. وتدعم سلوكيات بصرية متخصصة مثل انتقالات coverflow ثلاثية الأبعاد، والتنقل الدائري للتكرار اللانهائي، وتأثيرات مقاومة الحواف عند الوصول إلى حدود التسلسل. تغطي القدرات الإضافية تدوير المحتوى التلقائي على مؤقتات محددة، ورسوم متحركة ديناميكية لارتفاع الحاوية لتتناسب مع أبعاد الشريحة النشطة، والقدرة على تداخل الحاويات القابلة للتمرير للتنقل الهرمي. كما تدعم التمرير الرأسي الهجين للسماح بالتمرير داخل الصفحة ضمن واجهة قابلة للتمرير.
Enables internal vertical page scrolling within a container that is also navigable via horizontal swipe gestures.
mescroll is a JavaScript infinite scroll library and mobile web scroll manager designed to implement pull-to-refresh and pull-up-loading patterns. It provides a system for handling touch-based scrolling, managing pagination states, and integrating these behaviors within Vue applications. The library distinguishes itself through specialized support for chat interfaces, enabling reverse-order data loading and the ability to inject data in a reverse direction to simulate message histories. It also includes a state-persistent scroll cache to preserve vertical offsets and list data when users navi
Allows developers to temporarily disable pull-to-refresh or pull-up-loading actions to prevent accidental triggers.
LibreraReader is a multi-format e-book reader and digital library manager designed for mobile and desktop devices. It functions as a customizable document renderer and a text-to-speech document player that converts written text into spoken audio via a configurable speech engine and integrated media player. The project distinguishes itself through a high degree of visual and functional customization, including the ability to inject custom CSS for styling overrides and the use of pluggable rendering engines to balance speed and stability. It includes specialized navigation tools such as a verti
Restricts document navigation to vertical scrolling only, preventing accidental horizontal movement.
RmlUi هي مكتبة عرض واجهة مستخدم (UI) وبرمجيات وسيطة عبر المنصات تمكن من إنشاء واجهات المستخدم باستخدام مجموعة فرعية من HTML وCSS. تعمل كطبقة مستقلة عن العرض مصممة لدمج التخطيط والتصميم القياسي للويب في محركات الألعاب المخصصة والتطبيقات المضمنة. يتميز إطار العمل بدمجه لـ Lua للمنطق والتحكم الديناميكي، بالإضافة إلى مجموعة أدوات متخصصة لعرض صور SVG ورسوم Lottie المتحركة. يستخدم خلفية عرض قابلة للتوصيل تفصل توليد الهندسة عن العرض النهائي، مما يسمح له بتوليد هندسة ذات ملمس (textured) لخطوط أنابيب رسومية مختلفة. يغطي النظام مجموعة واسعة من الإمكانيات، بما في ذلك محرك تخطيط نموذج الصندوق (box-model)، ومحرك أنماط متسلسل، وربط البيانات لمزامنة النماذج مع العروض. يوفر إدارة شاملة للمدخلات للماوس ولوحة المفاتيح واللمس، إلى جانب خدمات التدويل لترجمة النصوص بناءً على اللغة. تشمل الميزات الإضافية تحجيم DPI العالي، وتكوين الشفافية القائم على الطبقات، ومجموعة من المكونات التفاعلية مثل أشرطة التمرير والقوائم المنسدلة. يمكن تجميع المصدر في ملفات WebAssembly ثنائية للتنفيذ في متصفحات الويب.
Prevents scroll events from propagating beyond a container when its scroll boundary is reached.
body-scroll-lock is a DOM scroll locking library and cross-browser scroll controller. It provides utilities to disable page scrolling while maintaining scrollability for specific nested elements across different browsers and devices. The project functions as a layout shift prevention utility and a web UI modal scroll manager. It includes mechanisms to add padding to the body when scrollbars are removed to prevent horizontal flickering and content shifting. The library covers scroll management for mobile navigation and modal interactions, enabling specific containers to remain scrollable whil
Provides utilities for disabling document scrolling specifically during modal or overlay display.
Miryoku is a universal mapping specification for ergonomic and orthogonal keyboards. It provides a standardized set of key assignments and layers designed to decouple logical input intent from specific physical hardware, ensuring consistent key placement across different firmware and devices. The system focuses on home-row navigation, placing cursor movement, mouse emulation, and system functions on the home row to minimize hand travel. It utilizes a layer-based input strategy with toggleable and modal layers to manage numerals, symbols, and media controls without relying on complex modifier
Uses toggleable and modal layers to manage numerals, symbols, and numbers without complex modifier chords.
Embed PDF Viewer is a browser-based PDF rendering library that uses a WebAssembly port of the PDFium engine to display documents entirely on the client side, with no server-side processing required. It provides a framework-agnostic core engine layer that manages the PDF document lifecycle, memory allocation, and WebAssembly resource cleanup, with dedicated integration hooks for React and Vue 3 that handle initialization, document loading, and reactive state management. The library offers both a pre-built, embeddable viewer that can be inserted into any web page with a single initialization ca
Configures scroll behavior and page display modes like single page or continuous scroll.
Offers both horizontal page-turn and vertical scroll reading modes, each saving progress automatically.