25 repositorios
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 es un framework de CLI interactivo para Node.js y biblioteca de interfaz de usuario de terminal utilizada para construir shells de línea de comandos extensibles. Funciona como un analizador de línea de comandos interactivo que convierte la entrada de cadena en funciones ejecutables, gestionando el ciclo de vida de las sesiones de terminal y el enrutamiento de comandos. El framework se distingue por una arquitectura de extensión basada en plugins que permite a los módulos externos registrar nuevos comandos, comportamientos compartidos y suites de comandos completas en el entorno central. Admite la creación de entornos de shell personalizados con espacios de nombres especializados y un sistema para el historial de usuario persistente y almacenamiento local clave-valor. El proyecto proporciona utilidades integrales para la gestión de comandos, incluyendo autocompletado, soporte de alias y sistemas de ayuda programables. También incluye controles de E/S de terminal para la modificación dinámica de prompts, intercepción de salida estándar y solicitud interactiva al usuario. La gestión de errores se maneja a través de listeners de excepciones globales y disparadores específicos para entradas de usuario no coincidentes.
Provides a controller for the terminal display that manages content redrawing and the input/output loop.
This project is a cookie consent manager and GDPR compliance tool used to collect user agreement for cookie categories. It is implemented as a vanilla JavaScript plugin that operates without external frameworks or dependencies. The tool provides a multilingual consent interface that automatically detects browser or document locales to serve translated content. It manages privacy preferences by blocking third-party iframes and scripts until explicit user consent is granted. The system covers website privacy customization through configurable banners and modals, including options for layout st
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 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.
Provides mechanisms to temporarily lock and ignore touch events to prevent accidental refresh or load triggers.
Esta es una biblioteca de tours guiados y framework de onboarding para aplicaciones React. Proporciona un sistema para crear recorridos interactivos paso a paso utilizando popovers anclados a elementos y herramientas de enmascaramiento visual para resaltar componentes específicos de la interfaz. La biblioteca se centra en la accesibilidad, proporcionando soporte integrado para lectores de pantalla y navegación por teclado para asegurar un onboarding de usuario inclusivo. Permite una amplia personalización al permitir el reemplazo de elementos de interfaz predeterminados, como insignias y botones, por componentes React personalizados. El framework cubre la orquestación de tours mediante la gestión de estado y el targeting de elementos basado en selectores. Incluye capacidades para el desplazamiento automático del viewport, gestión de transiciones de popovers y la capacidad de restringir la interacción del usuario con la interfaz subyacente durante un recorrido.
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.