24 Repos
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 24 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 is a Node.js interactive CLI framework and terminal user interface library used to build extensible command-line shells. It functions as an interactive command-line parser that converts string input into executable functions, managing the lifecycle of terminal sessions and command routing. The framework is distinguished by a plugin-based extension architecture that allows external modules to register new commands, shared behaviors, and complete command suites into the core environment. It supports the creation of custom shell environments with specialized namespaces and a system for pe
Provides a controller for the terminal display that manages content redrawing and the input/output loop.
Dieses Projekt ist ein Cookie-Consent-Manager und ein Tool zur DSGVO-Konformität, das verwendet wird, um die Zustimmung der Benutzer für Cookie-Kategorien einzuholen. Es ist als Vanilla-JavaScript-Plugin implementiert, das ohne externe Frameworks oder Abhängigkeiten auskommt. Das Tool bietet eine mehrsprachige Consent-Schnittstelle, die automatisch Browser- oder Dokument-Locales erkennt, um übersetzte Inhalte bereitzustellen. Es verwaltet Datenschutzeinstellungen, indem es Drittanbieter-Iframes und Skripte blockiert, bis eine explizite Zustimmung des Benutzers erteilt wurde. Das System deckt die Anpassung des Website-Datenschutzes durch konfigurierbare Banner und Modals ab, einschließlich Optionen für Layout-Stile und Themes. Es enthält zudem Funktionen, um die Seiteninteraktion einzuschränken, bis eine Entscheidung zur Zustimmung getroffen wurde.
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 ist eine JavaScript-Bibliothek für Infinite-Scroll und ein mobiler Web-Scroll-Manager, der darauf ausgelegt ist, Pull-to-Refresh- und Pull-up-Loading-Muster zu implementieren. Sie bietet ein System für den Umgang mit Touch-basiertem Scrollen, die Verwaltung von Paginierungszuständen und die Integration dieser Verhaltensweisen in Vue-Anwendungen. Die Bibliothek zeichnet sich durch spezialisierte Unterstützung für Chat-Oberflächen aus, die das Laden von Daten in umgekehrter Reihenfolge und das Einfügen von Daten in umgekehrter Richtung ermöglichen, um Nachrichtenverläufe zu simulieren. Sie enthält zudem einen zustandspersistenten Scroll-Cache, um vertikale Offsets und Listendaten zu bewahren, wenn Benutzer zwischen verschiedenen Ansichten navigieren. Das Projekt deckt ein breites Spektrum an Interaktions- und Performance-Funktionen ab, einschließlich der Unterdrückung des nativen Browser-Rubber-Bandings, Viewport-bewusstem Lazy-Loading von Bildern und programmatischer Scroll-Positionierung. Es bietet zudem Dienstprogramme zur Verwaltung von Paginierungszuständen, zur Anpassung der UI für Lade- und Leerzustände sowie zur Implementierung der Back-to-Top-Navigation.
Provides mechanisms to temporarily lock and ignore touch events to prevent accidental refresh or load triggers.
Dies ist eine Guided-Tour-Bibliothek und ein Onboarding-Framework für React-Anwendungen. Es bietet ein System zur Erstellung interaktiver Schritt-für-Schritt-Anleitungen unter Verwendung von elementverankerten Popovers und visuellen Maskierungstools, um spezifische Schnittstellenkomponenten hervorzuheben. Die Bibliothek konzentriert sich auf Barrierefreiheit und bietet integrierte Unterstützung für Screenreader und Tastaturnavigation, um ein inklusives Benutzer-Onboarding zu gewährleisten. Sie ermöglicht eine umfassende Anpassung durch den Austausch von Standard-Schnittstellenelementen, wie Badges und Buttons, durch benutzerdefinierte React-Komponenten. Das Framework deckt die Tour-Orchestrierung durch Zustandsverwaltung und selektorbasiertes Element-Targeting ab. Es enthält Funktionen für automatisches Viewport-Scrolling, Popover-Übergangsmanagement und die Möglichkeit, die Benutzerinteraktion mit der zugrunde liegenden Schnittstelle während eines Rundgangs einzuschränken.
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.