25 repository-uri
Utilities for making DOM elements draggable, rotatable, or scrollable with support for constraints and axis locking.
Distinct from Interactive UI Elements: Distinct from Interactive UI Elements: focuses on low-level interaction primitives like dragging and rotation rather than high-level UI components.
Explore 25 awesome GitHub repositories matching user interface & experience · Interaction Controllers. Refine with filters or upvote what's useful.
This project is a curated knowledge base and technical reference for professional web styling. It serves as a comprehensive guide to modern CSS best practices, focusing on techniques that leverage native browser capabilities to create efficient, maintainable, and scalable stylesheets. The collection emphasizes the use of declarative style logic and modern layout engines to replace brittle, imperative approaches. By prioritizing native pseudo-class state management, logical property mapping, and relative unit scaling, the guide demonstrates how to build responsive interfaces that remain consis
Provides CSS patterns to restrict pointer events on non-interactive or loading components.
GSAP is a comprehensive JavaScript animation library designed for orchestrating complex motion sequences and interactive user interfaces. It provides a robust property-interpolation engine that calculates intermediate values for CSS styles, attributes, and numeric properties, enabling smooth visual transitions across web elements. The framework is built on a core architecture that manages animation lifecycles, timeline-based sequence orchestration, and virtual property interception to ensure precise control over motion. The library distinguishes itself through a modular, plugin-based extensib
Enables DOM elements to be draggable, rotatable, or scrollable with support for constraints and custom trigger areas.
React Grid Layout is a toolkit for building draggable, resizable, and responsive dashboard interfaces. It functions as a coordinate-based grid system that reconciles component positions and dimensions through declarative metadata, allowing developers to manage complex collections of UI elements that users can interact with directly. The library distinguishes itself through an automated packing algorithm that maintains structural integrity by shifting elements to fill gaps and resolving overlaps. It supports responsive design by monitoring container width changes against pre-defined breakpoint
Allows developers to lock specific widgets in place to prevent user-initiated movement or resizing.
This project is a cross-platform user interface framework that maps mobile-native component primitives to standard web elements. It enables developers to build consistent applications that function across both mobile and web environments by providing a unified library of components and shared logic. The framework distinguishes itself through a specialized style engine that converts JavaScript object-based declarations into optimized, scoped CSS at runtime. It also features a responsive layout engine that implements a flexbox-based system, ensuring that interfaces adapt dynamically to differen
Control exclusive pointer access between overlapping views to ensure that complex gestures and touch events propagate correctly without conflicting with other active elements on the screen.
Niri is a Wayland compositor and tiling window manager designed for Linux systems. It functions as a display server that organizes application windows into a scrollable, column-based layout, providing a structured environment for managing graphical sessions, input routing, and hardware output. The project distinguishes itself through a declarative configuration engine that enables live-reloading of settings, allowing users to modify window rules, input bindings, and visual appearance without restarting the session. It features a physics-based animation system that uses spring-based curves to
Restricts user interactions and keybindings during session locks to maintain system security.
Hammerspoon is a programmable automation engine for macOS that enables deep system-level control through a Lua scripting environment. By bridging high-level scripts with native Objective-C APIs, it allows users to interact with the operating system's accessibility tree, intercept hardware input streams, and manage the lifecycle of running applications. The project distinguishes itself through an event-driven architecture that registers asynchronous hooks for system notifications and hardware events. This allows for real-time automation, such as remapping keyboard and mouse inputs, managing wi
Interacts directly with system hardware to query or modify the Caps Lock state.
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
Updates document titles, favicons, and body scroll locks to manage the visual state of the webpage.
m-cli is a suite of command line utilities designed for macOS system administration, hardware management, networking, and security permissions. It provides a terminal-based interface to configure system preferences and manage hardware components. The project allows for the direct control of physical system components, such as fan speeds, battery states, and display brightness. It also provides utilities for network administration, including the management of Wi-Fi connections, DNS settings, VPNs, and firewall rules. The tool covers a broad range of administrative capabilities, including powe
Adjusts the state of physical components like fans, batteries, and Bluetooth adapters via terminal.
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.
Implements the ability to make an element and all its descendants inert to block interaction.
This project is a QML desktop shell designed for desktop environment orchestration and interface customization. It functions as a system status dashboard and a declarative user interface for managing system hardware, window metadata, and user sessions. The shell features a dynamic theme generator that extracts dominant colors from wallpapers to automatically synchronize the global visual color palette. It utilizes an inter-process communication system to orchestrate shell functions and a hierarchical JSON configuration framework to manage global and per-monitor interface layouts. The system
Secures the current user session by blocking all input until successful authentication occurs.
Blink is a mobile terminal platform for iOS that combines an SSH and Mosh client with a local shell emulator, snippet manager, and SSH key storage. It renders terminal output using Chromium's HTerm engine for fast display and maintains persistent remote sessions across network changes through the Mosh protocol. The platform supports SSH key-based authentication, WebAuthn hardware security keys, and SOCKS5 proxy tunneling for secure remote access. The terminal environment is built around gesture-based session navigation, allowing users to switch between multiple shells with swipe and pinch ges
Blink Shell disconnects all active SSH sessions when the device is moved significantly to prevent unauthorized access.
Rambox is a desktop application that consolidates multiple web-based messaging and email services into a single window, allowing users to manage all their communications from one unified interface. It embeds each service inside an isolated web view, rendering the original web app without modification, and organizes them as draggable tabs in a persistent bar that supports reordering, disabling, and layout switching without restarting. The application distinguishes itself through several customization and security capabilities. Users can inject custom JavaScript or CSS into any service's web vi
Secures the application with a master password that auto-locks after inactivity to prevent unauthorized access.
Vue Flow is a TypeScript library for building interactive node-based editors and flowcharts. It provides the core infrastructure for creating diagrams where users can drag, select, and connect nodes with edges, supporting pan and zoom navigation of the canvas. The library offers extensive control over graph behavior and appearance, including the ability to customize connection lines, define custom edge types, and configure zoom constraints and viewport defaults. It includes built-in components like a minimap for navigation, zoom controls, and a fit-view button, along with features for node re
Toggles interactivity on and off for the entire diagram to prevent accidental edits.
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
Provides a method to release session locks early for improved concurrent request handling.
Vorpal este un framework CLI interactiv pentru Node.js și o bibliotecă de interfață terminală utilizată pentru a construi shell-uri extensibile în linie de comandă. Funcționează ca un parser interactiv de linie de comandă care convertește input-ul de tip șir în funcții executabile, gestionând ciclul de viață al sesiunilor de terminal și rutarea comenzilor. Framework-ul se distinge printr-o arhitectură de extensie bazată pe plugin-uri, care permite modulelor externe să înregistreze noi comenzi, comportamente partajate și suite complete de comenzi în mediul de bază. Suportă crearea de medii shell personalizate cu namespace-uri specializate și un sistem pentru istoricul persistent al utilizatorului și stocarea locală cheie-valoare. Proiectul oferă utilitare cuprinzătoare pentru gestionarea comenzilor, inclusiv autocomplete, suport pentru alias-uri și sisteme de ajutor programabile. Include, de asemenea, controale I/O pentru terminal pentru modificarea dinamică a prompt-ului, interceptarea output-ului standard și solicitarea interactivă a utilizatorului. Gestionarea erorilor este tratată prin listeneri globali de excepții și declanșatoare specifice pentru input-ul utilizatorului care nu se potrivește cu nicio comandă.
Provides a controller for the terminal display that manages content redrawing and the input/output loop.
Acest proiect este un manager de consimțământ pentru cookie-uri și un instrument de conformitate GDPR utilizat pentru a colecta acordul utilizatorilor pentru categorii de cookie-uri. Este implementat ca un plugin vanilla JavaScript care funcționează fără framework-uri sau dependențe externe. Instrumentul oferă o interfață de consimțământ multilingvă care detectează automat localele browserului sau ale documentului pentru a servi conținut tradus. Gestionează preferințele de confidențialitate prin blocarea iframe-urilor și scripturilor terțe până când este acordat consimțământul explicit al utilizatorului. Sistemul acoperă personalizarea confidențialității site-ului web prin bannere și modale configurabile, incluzând opțiuni pentru stiluri de layout și teme. Include, de asemenea, capabilități pentru a restricționa interacțiunea cu pagina până când este luată o decizie privind consimțământul.
Blocks pointer and focus events on the page content until a consent decision has been made.
React Email Editor is a drag-and-drop visual builder for creating responsive email templates, built as a React embeddable component. It also serves as an AI-powered email designer, a collaborative email design tool, and a React component library for composing emails programmatically with JSX. The editor represents designs as structured JSON and supports multi-format rendering for email clients, web pages, and PDF. What distinguishes this editor is its deep AI integration: users can generate full email templates from natural language, rewrite text with chosen intent, produce multiple text vari
Locks specific template elements to prevent end-users from modifying or deleting them.
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.
Provides mechanisms to temporarily lock and ignore touch events to prevent accidental refresh or load triggers.
This is a guided tour library and onboarding framework for React applications. It provides a system for creating interactive, step-by-step walkthroughs using element-anchored popovers and visual masking tools to highlight specific interface components. The library focuses on accessibility, providing built-in support for screen readers and keyboard navigation to ensure inclusive user onboarding. It allows for extensive customization by enabling the replacement of default interface elements, such as badges and buttons, with custom React components. The framework covers tour orchestration throu
Allows blocking user input on highlighted elements during a walkthrough to control the user experience.
This project is a jQuery plugin designed to detect and handle touch gestures on touch-enabled devices. It serves as a touch input handler and mobile gesture interface for identifying interactions such as swipes and pinches within a jQuery environment. The library distinguishes intentional gestures from accidental movements through configurable distance and time thresholds. It includes mechanisms to manage input interference, allowing for the exclusion of specific interactive child elements and the locking of default browser behaviors like scrolling or zooming during an active gesture. The sy
Prevents conflicting browser behaviors like scrolling or zooming while a touch gesture is being tracked.